/home/user1にあるファイルすべてをファイルサーバ(fserver)の/home/user1/backup に、「backup_files.tar」という名前でバックアップすることにします。
表1を確認すると、バックアップ先の領域は、/backupというディレクトリでNFSマウントしていますので、作成するシェルスクリプトのサンプルは、リスト1A(hdd_backup1.sh)のようになります。また、リスト1Bやリスト1Cのように、日付や時刻が分かるようにしたり、圧縮されたアーカイブファイルとしてバックアップされるようにするのもよいでしょう。
#!/bin/sh
SRCDIR=/home/user1 ←バックアップ元のディレクトリの指定
DESDIR=/backup ←バックアップ先のディレクトリの指定
TARFILE=backup_files.tar ←アーカイブファイルの指定
cd $SRCDIR ←バックアップ元に移動
tar cf $DESDIR/$TARFILE . ←バックアップの実行
exit
TARFILE=backup_files_`date +%m%d%H%M`.tar
tar cf - . | compress -c > $DESDIR/${TARFILE}.Z
バックアップ先ディレクトリに、サブディレクトリを作成して、そこにデータをリストアすると、次回のバックアップ時の更新やバックアップの世代管理が楽になります。
スクリプトのサンプルは、リスト2(hdd_backup2.sh)のようになります。リスト2の例では、バックアップ先のディレクトリに「dump_<日付時刻>」のサブディレクトリが作成され、そこにバックアップデータが保存されます。次回のバックアップ時に、新たにサブディレクトリを作成すると、バックアップの世代管理が可能になりますし、サブディレクトリごと削除することで、バックアップデータの消去もできます。スクリプト内で指定するサブディレクトリを「SUBDIR=dumpdir」のように名前を固定しておき、世代管理をする際にサブディレクトリの名前に日付などをつけて管理してもよいでしょう。
#!/bin/sh
SRCDIR=/home/user1 ←バックアップ元のディレクトリの指定
DESDIR=/backup ←バックアップ先のディレクトリの指定
SUBDIR=dump_`date +%m%d%H%M` ←リストアを行うサブディレクトリの指定
mkdir $DESDIR/$SUBDIR ←リストア先のディレクトリ作成
cd $DESDIR/$SUBDIR ←リストア先のディレクトリへ移動
dump 0f - $SRCDIR | restore rf - ←dump/restoreの実行
exit
Copyright © ITmedia, Inc. All Rights Reserved.