簡易バックアップスクリプト

前書き

いざと言う時の保険がバックアップ。
でも、面倒臭くていちいちやってられないのもバックアップ。

やってないと泣きを見るのもバックアップ。

じゃあ、「ぱぱっ」と簡単コマンドでバックアップできるようにしちゃいましょう。
むしろ、自動でやってもらいましょう。

使用上の注意をよく読み、用法・用量を守って正しくお使いください。

効能・効果
成分
用法・用量
取り扱い上の注意



効能・効果

単純なコマンドでバックアップできるようになります。
オプションによってバックアップの方法を指定することができます。
cronを用いることによって、バックアップを自動化することができます。

成分

簡易バックアップスクリプトver061008(backup.tar.gz) md5sum crc32:02653D35
  backup.sh
  rsync_exclude.txt
  readme.txt
  readme_linux.txt
・root権限
・tar
・rsync
・cron
LEDを操作する(5分落ち問題)準ずる処置

用法・用量

0.事前準備
rsyncをインストールします。
tarが正しく動作することを確認します。

	$ tar cvfz hogehoge.tar.gz hoge1 hoge2 ...
簡易バックアップスクリプトを入手し、解凍します。

1.backup.shの設定
backup.shの設定を変更し、[/root/]にアップロードします。
backup.shの設定項目(デフォルト)
	rsyncの保存先の指定(/mnt/bkup)
	tarボールの保存先の指定(/mnt/share/bkup)
	bkup[today]r.tar.gzの保存日数の指定(50)
	/tmp/内のファイル/ディレクトリの保存日数の指定(30)
	rsyncの場所(/usr/bin/rsync)
	バックアップ除外リストの指定(/root/dat/rsync_exclude.txt)
	logger.shの場所(/root/logger.sh)
	kuroevtdの起動スクリプトの場所(/etc/init.d/kuroevtd)
tarボールの保存先を作成します。
	# mkdir /mnt/share/bkup
rsync_exclude.txtを置く場所を作成します。
	# mkdir /root/dat
rsync_exclude.txtを編集し、指定の場所[/root/dat/]にアップロードします。
rsync_exclude.txtの設定項目(デフォルト)
	rsyncの保存元の指定(/mnt/share*/)
		注:上記設定では/mnt/share*/を保存しないという意味になります。
		  詳細については、rsyncの"EXCLUDE パターン"を参照してください。

2.手動実行
backup.shを手動にて実行します。
スクリプトのある場所で
	# ./backup.sh [opt]
デバック時には
	# sh -x ./backup.sh [opt]
		注:動作しない場合、アクセス権(実行権)を確認してください。
		注:実行中はDISK FULLのLEDが点滅します。

backup.shに使用できる引数[opt]は以下の通りです。
	rsync:rsyncを用いてバックアップ(ファイルコピー)を行います。
		注:rsyncは-avzHS --delete --forceを使用して実行されます。
	roll:rsyncのバックアップからtarボール(bkup[today]r.tar.gz)を作成します。
		注:bkup[today]r.tar.gzには/etc/ /mnt/ /var/のみが含まれます。
	full:rsyncを用いてバックアップした後、
	   rsyncのバックアップからtarボール(backup[today].tar.gz)を作成します。
		注:backup[today].tar.gzはchrootされており、
		  rsyncでバックアップされた全てのファイル/ディレクトリが含まれます。
	cron:上記、rsyncとrollを順番に実行します。
		注:絶対パスでのみ動作します。
	stop:LEDの点滅を停止します。

3.cronに登録し、自動で実行されるようにします。
	# crontab -e
		┃30  18   *   * 2-7  /root/backup.sh rsync >/dev/null
		┃30  18   *   *   1  /root/backup.sh cron  >/dev/null
			注:rsyncを火〜日曜日の18:30に実行します。
			  cronを月曜日の18:30に実行します。
			注:標準出力を/dev/nullに破棄しています。
			  上記処置をしないとcronから毎日メールが送られてきますorz

取り扱い上の注意

基本的に手動で実行できるように作っておりますので、
cronで使用する場合は適宜標準出力を変更してください。

このスクリプトでは同一HDD内にバックアップファイルを作成しますので、
HDDの物理的障害には対応できません(無力です)
定期的にバックアップファイル(*.tar.gz)をクライアントPCなど、他のHDDにコピーすることをお勧めします。

LEDを操作する(5分落ち問題)準ずる処置を行わない場合、スクリプトの修正が必要です。
/dev/ttyS1のある行の行頭に # を挿入するか、該当する行を削除してください。

復元(リストア)に関しては、十分な検証を行っていません。
復元(リストア)は無保証とさせていただきます。

bkup[today]r.tar.gzはchrootされていません。
オプション -C / で解凍すると/mnt/bkup/以下にファイルが展開されます。

関連ページ
	・rsync(ミラーリングツール)cronについてLEDを操作する(5分落ち問題)5分落ち問題のもう一つの回避法

あとがき

とりあえず、バックアップまで。
実際、リストアする必要のあるところに逝った事がないのでなんとも・・・(^^A"

はるか昔、HDD内をあぼーんしてしまったことがあったけど・・・
そのときは、EMモードで/mnt/bkup/*を/に単純コピー(/bin/cp利用)という
馬鹿なことをやったしwww(当然失敗)

まぁ、バックアップが必要になることがないことを祈りたいですね。


戻るなら押せ!