- 2008年12月14日 14:19
- Vine Linux
もしもの時の為のバックアップ。
ここでは私が用いるフルバックアップ方法を紹介しています。
バックアップの内容。
MySQLの全データベースをダンプして保存。
他のバックアップ対象をミラーリング(同期)で確保した後にまとめて圧縮して保存。
圧縮除外指定も可能。
バックアップ失敗も考えて前回のバックアップ(圧縮)を確保しておくというもの。
後は圧縮されたバックアップを別PCなどに保存しておけば最悪そのバックアップから復元が可能です。
# vi bkup.sh
#!/bin/sh # ミラーリング先作成 mkdir -p /ミラーリング先/mysql # MySQLバックアップ ROOTPASS="パスワード" mysqldump -u root -p$ROOTPASS --all-database > /ミラーリング先/mysql/mysql.sql # ミラーリング(RSYNC同期処理) # /root rsync -rlHpogtD --delete --exclude '.*' --exclude '*.cfg' --exclude '*.locales' --exclude 'Desktop/' --exclude 'help/' --exclude 'images' --exclude 'rpm/' --exclude 'version' --exclude '*.0' --exclude 'locale/' --exclude 'upgrade-log' /root/ /ミラーリング先/root/ # /root/.spamassassin rsync -rlHpogtD --delete --exclude '*_old' /root/.spamassassin/ /ミラーリング先/root/.spamassassin/ # etc以下 rsync -rlHpogtD --delete /etc/ /ミラーリング先/etc/ # home以下 rsync -a --delete /home/ /ミラーリング先/home/ # バックアップ先作成 mkdir -p /バックアップ先 # ローテーション rm -f /バックアップ先/bkup2.tar.gz mv /バックアップ先/bkup.tar.gz /バックアップ先/bkup2.tar.gz # 圧縮 # 対象リスト LIST="/ミラーリング先" # 対象外リスト NOLIST="/バックアップ先/bkup_nolist" # 圧縮開始 tar czvfXP /バックアップ先/bkup.tar.gz $NOLIST $LIST > /var/log/bkup.log chmod 600 /var/log/bkup.log
bkup.sh に実行権限付与。
# chmod 700 bkup.sh
バックアップ除外リストの設定。
除外がなければ空ファイルでもいいはずなので作成しておきましょう。
# vi /バックアップ先/bkup_nolist
/home/アカウント/test ディレクトリを圧縮しない場合。
/home/アカウント/test2/db.log ファイルを圧縮しない場合。
*/home/アカウント/test */home/アカウント/test2/db.log
バックアップ実行。
# ./bkup.sh
バックアップ先にバックアップファイルできていることを確認。
問題がなければ Cron で定期実行させるように設定。
# crontab -e
# バックアップ 00 05 * * 1 /root/bkup.sh
この例では毎週月曜日の朝5時に実行されるようになります。
Corn再起動。
# /etc/rc.d/init.d/crond restart
- Newer: ユーザーディレクトリへデータベースを保存
- Older: MTU変更2
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- https://www.fya.jp/cgi-bin/mt/mt-tb.cgi/68
- Listed below are links to weblogs that reference
- バックアップ from Minase's Blog - FYA