在备份目录中,我想保留所有 7 天生成的文件,并希望删除较旧的文件。
我尝试使用 -mtime 选项并观察脚本运行了 3-4 天。但5-6天后它就停止工作了。所以删除没有发生,目录现在已满。看来 -mtime 不起作用。
另请注意,我正在运行一个 cron 来自动执行此操作。
10 3 * * * su - cassandra -c /opt/cassandra/scripts/backup_cassandra >> /tmp/backup.log
这是我正在使用的脚本:
#!/bin/bash
set -x
export PATH=/opt/dse/bin/:/usr/lib/jvm/jre-1.8.0//bin:/sbin:/usr/sbin:/bin:/usr/bin:/root/bin
. /opt/cassandra/.env # source functions & password
# First we delete backup files older than 8 days.
find /data_cassandra/cassandra/backup/ -name "dc_east__*" -mtime 8 -exec rm {} \;
# cd to where the scrips are.
cd /opt/cassandra/scripts/
# And start the backups.
./backup.sh start -all # Kick off a full backup
请帮助解决这个问题。
答案1
您正在find
查看 8 天前的文件。man find
:
A numeric argument n can be specified to tests (like -amin, -mtime, -gid, -inum, -links, -size, -uid and -used) as +n for greater than n, -n for less than n, n for exactly n.
所以 - 尝试一下-mtime +8