WordPressのDBを自動でバックアップする方法(プラグインは使いません)
2008 年 10 月 9 日
コメント 2 件
Masayanさんの記事で完全にビビッてしまった私です。
データベース使用中? – MMRT daily life
やっぱりバックアップは必要ですね。
でも、めんどくさいですw
ってことで、自動でバックアップできればいいわけなので調べました。
今回もhiromasaさん、おでさんに色々教えていただきました。
akaさんは欠席w
ちなみにサーバーは、CORESERVERです。
MySQLの定期的バックアップ(cron) : Project MultiBurst
を参考に、
backup-mysql.sh というファイル名で、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/bin/sh # 日付 timestamp=`date +%Y%m%d` srcfile=/virtual/ID/backup-mysql/mysql.$timestamp.dump # バックアップで残しておく日数 keepday=14 # バックアップするディレクトリ dest=/virtual/ID/backup-mysql # MySQLのダンプ処理(とりあえず一時ファイルとして保存) /usr/local/mysql/bin/mysqldump ID --host=localhost -u ID --password=********** > $srcfile # タイムスタンプの取得 old_date=`date "-d$keepday days ago" +%Y%m%d` bkfile=$dest/$timestamp.tar.gz tar zcvf $bkfile $srcfile # > /dev/null 2>&1 if [ $? != 0 -o ! -e $bkfile ]; then echo "backup faild -- ($srcfile)" exit 1 fi rmfile=$dest/$old_date.tar.gz if [ -e $rmfile ]; then rm -f $rmfile fi rm -f $srcfile |
を作ります。
ID、PASSは変更してください。
(IDは4箇所、PASSは1箇所)
/virtual/ID/ に、backup-mysql という名前でディレクトリを作ります。書込み権限も変更します。(707)
/virtual/ID/ に、backup-mysql.sh をアップロードし、実行権限を与えます。(706)
これで準備できました。
あとはCORESERVERのCRONで設定し叩けばOKです。
実際にバックアップされるか実験する方法
時間を設定し、CRONで叩かれるのを待てばバックアップされるか確認できますが、それを待てない人は次の方法でバックアップされるか確認しましょう。
sshでログインし、backup-mysql.sh を実行します。
./backup-mysql.sh
これだけです。
数秒で作成されるはずです。
/virtual/ID/backup-mysql/ の中にファイルが出来上がります。

Recent Comments