バックアップディレクトリに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