我从博客文章中复制了这一点,研究了它,做了一些调整,它或多或少起作用了:
#!/bin/bash
GZ_DATE=`date +%Y%m%d`
GZ_TIME=`date +%H`
BK_PATH=/mnt/usbbk/sql
BK_FILE=$BK_PATH/$GZ_DATE-$GZ_TIME.gz
#
# Find all files older than 7 days (10080 minutes) and remove them
#
find BK_PATH* -type f -mmin +10080 -exec rm {} \;
#
# Dump and gzip export of SQL data
#
mysqldump --lock-all-tables --all-databases -u backup -p backup | gzip > $BK_FILE
然而,它似乎并没有删除
答案1
你是想发布这个吗?它看起来还没完成。
它没有删除文件,因为您希望删除它们的行 -在找到的匹配文件上find
执行的命令rm
- 已被注释掉(以 开头#
)。它被忽略了。
答案2
取消注释find BK_PATH* -type f -mmin +10080 -exec rm {} \;
答案3
我假设在这个脚本的实时版本中,find没有被注释掉(在粘贴的脚本中注释掉find -exec rm结构实际上是一个好主意)?