バックアップフォルダのシステムスクリプト - 古いバックアップを削除しますか?

バックアップフォルダのシステムスクリプト - 古いバックアップを削除しますか?

このスクリプトは、「.Trash」などの一時ファイルを除き、作成日以降にフォルダ名を指定して、1つのUSBドライブを別のUSBドライブにバックアップします。

'rsync -augAXPh --exclude '.Trash-*' /media/usb1/ /media/usb2/data-backup/$(date +%%Y-%%m-%%d)'

次の行は、「/media/usb2/data-backup」ディレクトリを検索し、3日以上前に作成されたすべてのフォルダを削除する必要があります。

'find /media/usb2/data-backup/*/* -mtime +3 -type d -exec rmdir -Rf {}'
Here's my complete 'data-backup.service' script.

以下は、/etc/systemd/systemにある完全な「data-backup.service」ファイルです。

[Unit]
Description=Data backup

[Service]
Type=simple
Nice=19
StandardOutput=journal
IOSchedulingClass=best-effort
IOSchedulingPriority=5
ExecStart=sh -c 'rsync -augAXPh --exclude '.Trash-*' /media/usb1/ /media/usb2/data-backup/$(date +%%Y-%%m-%%d)' \;
    'find /media/usb2/data-backup/*/* -mtime +3 -type d -exec rmdir -Rf {}' \;

[Install]
WantedBy=multi-user.target

他の人を助けるためにここに私の "data-backup.timer"スクリプトがありますが、問題なく動作します。

[Unit]
Description=Data backup timer
Requires=data-backup.service

[Timer]
OnCalendar=Mon..Sun 01:00
Unit=data-backup.service
Persistent=true

[Install]
WantedBy=timers.target

この問題が解決しやすく、他の人がそれを使用したい場合は、これら2つのファイルをディレクトリ'/etc/systemd/system/'(Debian用)に入れて、次のコマンドを実行します。

sudo systemctl daemon-reload

ついに:

sudo systemctl start data-backup

システムファイルdata-backup.serviceとdata-backup.timerを作成しました。 data-backup.timer スクリプトで指定した正確な時刻にスクリプトが正しく実行されます。作成日の名前でフォルダが作成されます。新しく作成したフォルダにバックアップデータが保存されます。 3日以上古いディレクトリを削除する最後の手順は実行されません。私は何を見逃していますか?とても感謝しています!

ベストアンサー1

おすすめ記事