WordPress 2.8.5がリリースされました。
アップデートするか と思ったら当然の如く “データのバックアップを事前にしておきましょう” と表示された
ついでなのでどんな方法があるのか調べていると親切な纏めサイトがあった
WordPress のバックアップ
http://wpdocs.sourceforge.jp/WordPress_Backups
取り敢ずはMySQLのバックアップということで下記を参考に導入
Wordpress@T2
http://www.tamba2.org.uk/wordpress/cron/
内容としてはmysqldump でサイトに関するDBをDumpしてgzipで圧縮してからmuttを使ってメールに添付ファイルとして送信する。これをcronに仕込んでおけば自動でバックアップができるというもの
メールなんで簡単にパソコンに保存できるし-いわゆる別媒体-お手頃感があったので
- まずはmuttがインストールされているか確認
- cronjob2.shをdownload
- cronjob2.shでは解りづらいので名前をwp_rootlinks_backup.shに変更
- 実行権限追加
- wp_rootlinks_backup.shを編集
- テスト送信
- cronに仕込む
CentOS 5.2にはmutt-1.4.2.2-3.0.2.el5が入っていました
muttはテキストベースのメールクライアント。
一度も使用したことが無いので調べながら /etc/Muttrcファイルを編集
送信のみに使用するので細かいところは無視して下記を記述、保存
1 |
[root@ns ~]# vi /etc/Muttrc |
1 2 3 4 |
set use_domain=yes set hostname="mail.rootlinks.net" set use_from=yes set from="wp_rootlinks_backup@rootlinks.net" |
1 2 3 4 5 6 7 |
[root@ns bin]# wget http://www.tamba2.org.uk/wordpress/cron/cronjob2.sh --15:11:04-- http://www.tamba2.org.uk/wordpress/cron/cronjob2.sh www.tamba2.org.uk をDNSに問いあわせています... 69.163.148.213 www.tamba2.org.uk|69.163.148.213|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 1695 (1.7K) [application/x-sh] Saving to: `cronjob2.sh' |
1 |
[root@ns bin]# mv cronjob2.sh wp_rootlinks_backup.sh |
1 |
[root@ns bin]# chmod ugo+x wp_rootlinks_backup.sh |
オリジナルからSubjectが分かりやすいように変更してあります
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DBNAME=wpdb_rootlinks DBPASS=xxxxxxxx DBUSER=xxxxxxxx #Keep the " around your address EMAIL="hogehoge@rootlinks.net" cd /tmp #Change the 'wp_' to match your table_prefix in the database mysqldump --opt -u $DBUSER -p$DBPASS $DBNAME > backup.sql gzip backup.sql DATE=`date +%Y%m%d` ; mv backup.sql.gz $DBNAME-backup-$DATE.sql.gz echo 'Blog Name: Your mySQL Backup is attached' | mutt -a $DBNAME-backup-$DATE.sql.gz \ $EMAIL -s "WordPress RootLinks MySQL Backup $DATE" rm $DBNAME-backup-$DATE.sql.gz |
メールが受信でき、”wpdb_rootlinks-backup-20091022.sql.gz” の様な添付ファイルがあり、unzipして内容にsql文が書かれていれば成功。
1 |
[root@ns bin]# /usr/local/bin/wp_rootlinks_backup.sh |
手っ取り早く wp_rootlinks_backup.sh を /etc/cron.weekly/ にコピー
これで毎週日曜日22時4分に実行される
もし、毎日実行したい場合は/etc/cron.daily/にコピーすればOK
1 |
[root@ns bin]# cp /usr/local/bin/wp_rootlinks_backup.sh /etc/cron.weekly/ |