フルバックアップと差分バックアップのアーカイブファイルを使って、最後にバックアップした時点に戻すには、次のように実行します。
1 2 3 |
$ mkdir ~/backup $ cd ~/backup $ sudo tar xpvf /nmt/fullbackup-年月日.tar.gz /nmt/partialbackup-年月日.tar.gz |
前回紹介したコマンドで、フルバックアップのアーカイブファイルと、最後に取得した差分バックアップのアーカイブファイルを同じ場所に展開します。今回も「~/backup」ディレクトリーを作成し、その中に展開しています。
なお、これだけでは不十分です。フルバックアップ後に削除されたファイルやディレクトリーを消さなくてはいけません。「/mnt/fullbackup-年月日.log」にフルバックアップ時のファイルとディレクトリーの一覧が、「/mnt/list-年月日.log」に差分バックアップ時のファイルとディレクトリーの一覧が書き込まれているので、それを比較して削除されたファイルやディレクトリーを消すとよいでしょう。参考までに、そのためのシェルスクリプトを示しておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash ## このスクリプトは、バックアップファイルを展開したディレクトリ ## ー内で管理者権限で実行してください。 ## フルバックアップ時にアーカイブ化したファイルやディレクトリー ## 一覧を保存したファイル、最新の差分バックアップ時のファイルや ## ディレクトリー一覧を保存したファイルに書き換えてください。 fullbackup=/mnt/fullbackup-年月日.log partialbackup=/mnt/partialbackup-年月日.log ## ファイルやディレクトリーの削除処理 for i in $(cat ${fullbackup}) do sed -e "s%/$%%g" ${partialbackup} | grep -x ${i} if [ $? -ne 0 ]; then rm -rf i fi done |