古いディレクトリのファイルを削除するにはRsyncを使用しますか?

古いディレクトリのファイルを削除するにはRsyncを使用しますか?

私は本当にrsyncの問題に本当に閉じ込められており、文書を読んでもそれを理解することはできません。サーバー上のいくつかのフォルダとファイルをバックアップするために、毎日1つずつ7つのディレクトリを作成したいと思います。私が経験している問題は、rsyncが前日にバックアップされたディレクトリを削除しているようです。

たとえば...

/backup/Mondayには私が移動したファイルが含まれていますが、/backup/Tuesday/ディレクトリにはファイルとディレクトリの両方が含まれていません。

私はMondayディレクトリに月曜日に存在していたすべてのファイルを含め、Tuesdayディレクトリに火曜日に存在していたすべてのファイルを含めたいと思います。

これは私のスクリプトです。

ssh [email protected] 'find /backup/staging/ -mtime +7 -exec rm -rf {} \;'
crontab -l > $(date +%Y%m%d).crontab
mysqldump -password cherry --all-databases> $(date +%Y%m%d)_cherrydb.sql
rsync -a --log-file=$(date +%Y%m%d).log /var/www/admin /var/www/customers /var/www/UploadedFiles /etc/apache2/certs /etc/apache2/sites-enabled $(date +%Y%m%d).crontab $(date +%Y%m%d)_cherrydb.sql [email protected]:/backup/staging/$(date +%A)/
rsync -a $(date +%Y%m%d).log [email protected]:/backup/staging/$(date +%A)/
rm $(date +%Y%m%d).log
rm $(date +%Y%m%d).crontab
rm $(date +%Y%m%d)_cherrydb.sql

ベストアンサー1

よくわかりませんが、スクリプトの最初の行に問題があるようです。私の考えでは、先週バックアップを削除したいと思いますが、これは危険な習慣です。 2つの選択肢は、最初の行を次に置き換えることです。

ssh [email protected] 'rm -rf /backup/staging/$(date +%A)/*'

または、スクリプトの最初の行を削除し、最初の行の--deleteフラグを使用して、ターゲットrsyncからバックアップセットの一部ではないすべてのファイルを削除します。

おすすめ記事