前提:
- Linux サーバを多重化したり RAID を組む予算がないために,シングル構成をとらざるを得ない.
- Win マシン上には大事なデータがあるので多重化している.
- Linux サーバには,SSH 公開鍵を使った入力レスの SSH セッションが疎通.
- Win マシン上には WinSCP 導入済.
準備1 Linux サーバ
バックアップしたいパスを決定し,アーカイブを自動化.
例)cron 利用
# crontab -l 0 10 * * * rm /bkup/var.cache.bind.zip;zip -P `cat ZIPPWDFILE` -rq /bkup/var.cache.bind.zip /var/cache/bind 0 40 * * * mysqldump -u MYSQLUSER -p`cat MYSQLPWDFILE` --opt DBNAME --net_buffer_length=8000 | gzip > /bkup/mysql.sql.gz
準備2 Winマシン
- WinSCP で動作させるスクリプトの作成.
例)ファイル名「backup_script」とする.open PAMUSER@host.domain -privatekey="c:\PATH\.ssh\id_rsa.ppk" cd /bkup lcd c:\STORAGEPATH get var.cache.bind.zip mysql.sql.gz .\ exit
- WinSCP を呼ぶスクリプトの作成.
例)ファイル名「backup.bat」とする.c:\PATH\winscp437\winscp.com /script=c:\PATH\backup_script
実施
- backup.bat を実行する.
追記(Feb 13 2013)
info-zip の場合, –f オプションで差分だけ上書きできるよ!(新規ファイルの追加はなし)
更新(上書き+新規追加)したい時は,–u オプションでいいよ!
消えたファイルはアーカイブからも消したい時は,–FS オプションでいいよ!
–x オプションで除外できるよ!
除外リストでワイルドカードを使う時は,\ でエスケープしないといけないよ!