このスクリプトは、「.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日以上古いディレクトリを削除する最後の手順は実行されません。私は何を見逃していますか?とても感謝しています!