元のフォルダとバックアップフォルダを比較し、存在しないファイルを削除します。

元のフォルダとバックアップフォルダを比較し、存在しないファイルを削除します。

私はRaspbian jessie(Ubuntu)を使用しています。すべてのもの(mnt、tmp、run、dev、bootなどを除く)の.imgをバックアップし、crontabを使用して週に1回実行する.shを作成しました。変更したファイルを確認し、そのファイルのみコピーします。毎回すべてを大規模にフルバックアップする必要がないので、この機能は非常に便利だと思います。これは非常にうまく機能します。 .shには次のコマンドが含まれています。

sudo rsync -aAHvpE --delete-during --exclude-from=/etc/rsync-exclude.txt / /mnt/usb0/backup/partition2

しかし、バックアップを確認したところ、元のシステムから削除したファイルがまだ含まれていることがわかりました。たとえば、/test.txtファイルを/mnt/usb0/backup/partition2/test.txtにバックアップしましたが、元のファイルを削除して新しいバックアップを作成したので、バックアップから消えませんでした。

今私の質問は:元のフォルダに存在しなくなったファイルを確認し、バックアップフォルダのファイルも削除する方法はありますか? (最初にすべてを削除してから最初からフルバックアップを作成する必要はありません。)

ベストアンサー1

使用したコマンドは--delete-during受信側からファイルを削除しますが、ファイルにその名前が含まれていることを/mnt/usb0/backup/partition2確認してください。--exclude-from/etc/rsync-exclude.txttest.txt

次のオプションも使用できます。

        --delete-before         receiver deletes before xfer, not during
        --delete-during         receiver deletes during the transfer
        --delete-delay          find deletions during, delete after
        --delete-after          receiver deletes after transfer, not during
        --delete-excluded       also delete excluded files from dest dirs

おすすめ記事