WSL2でシステム内でrsyncバックアップ

ALL
スポンサーリンク

バックアップ先が /wslbackup とする場合。

rsync --sparse -aH --ignore-errors --one-file-system --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/wslbackup",".thinclient_drives"} / /wslbackup

バックアップを複数とる場合で、容量節約したい場合。
1回目はフルバックアップをとり、2回目以降は、変更の無いファイルは1回目のバックアップへハードリンクを張ります。

1回目。バックアップ先は /wslbackup/backup0。

rsync --sparse -aH --ignore-errors --one-file-system --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/wslbackup",".thinclient_drives"} / /wslbackup/backup0

2回目以降。バックアップ先は /wslbackupbackup-XXXXXX-XXXXX の形式。XXXXXXの箇所は、バックアップ実行時の年月日・時刻になります。

rsync --sparse -aH --ignore-errors --one-file-system --delete  --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/wslbackup",".thinclient_drives"} --link-dest=/wslbackup/backup0 / "/wslbackup/backup-$(date +%Y%m%d-%H%M%S)"

復元。
XXXXXX の箇所は1回目からだったら backup0、2回目以降からだったら backup-XXXXXX-XXXXX の形式のディレクトリ名。

rsync --sparse -aH --ignore-errors --one-file-system --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/wslbackup",".thinclient_drives"} /wslbackup/XXXXXX/ /

注意点ですが、2回目以降のバックアップは1回目と比較するので、1回目(この例では /wslbackup/backup0)を削除しないようにしてください。

コメント