前回の記事、
・wordpressを手動でバックアップして、新しいドメインへ移行してみる
で、手動で1個1個確認しながら、バックアップをして復元をしたわけですが、まぁこんなことを定期的に手動でやってたら面倒なわけです。
と言うわけで、crontab等で自動的に実行させるべく。シェルスクリプトにまとめてみました。後、前回には入れなかった、ある程度世代を管理しようと思います。と言っても、丸1週間分を残しておこうというものですが。
作業ディレクトリは、単に日付時刻でディレクトリを作成しています。こんな感じで。
そのディレクトリへ、MySQLからWordpressのデータベースをダンプし、Wordpressを公開しているディレクトリからコピーして、まとめてtar.bz2ファイルに圧縮しています。
実行後に出力されるファイルの例
で、最後に、SEDAI=8としている所で、8世代分だけ残して、後は削除するようにしています。
現時点で、バックアップの圧縮ファイル1つ分が7.4MBあり、これが8個あるので大体60MBあります。うーん、まぁ、こんなもんですかね・・
[PR]第3特集:ここだけは知っておきたい シェルスクリプト事始め
技術評論社 (2011-02-18)
・wordpressを手動でバックアップして、新しいドメインへ移行してみる
で、手動で1個1個確認しながら、バックアップをして復元をしたわけですが、まぁこんなことを定期的に手動でやってたら面倒なわけです。
と言うわけで、crontab等で自動的に実行させるべく。シェルスクリプトにまとめてみました。後、前回には入れなかった、ある程度世代を管理しようと思います。と言っても、丸1週間分を残しておこうというものですが。
#!/bin/bash
#
#作業用ディレクトリ作成
#
WORKDIR=`date +%Y%m%d%H%M%S`
echo $WORKDIR
mkdir $WORKDIR
#
# MySQLのダンプ
#
cd $WORKDIR
mysqldump wp_database > dump.sql -u user1 -ppassword
#
# wordpress本体をコピー
#
cp -R /var/www/html/wordpress ./wordpress
#
# まとめて圧縮
#
cd ..
BACKUPFILE="${WORKDIR}bkwp.tar.bz2"
tar cjf $BACKUPFILE $WORKDIR
#
# 作業ディレクトリ削除
#
rm -R $WORKDIR
#
# 世代管理
#
SEDAI=8
BKFILE="*bkwp.tar.bz2"
if [ $(ls $BKFILE|wc -l) -gt $SEDAI ]; then
FILECNT=`expr $(ls $BKFILE|wc -l) - $SEDAI`
for file in `ls -t $BKFILE|tail -n $FILECNT`
do
rm -f $file
done
fi
#
#作業用ディレクトリ作成
#
WORKDIR=`date +%Y%m%d%H%M%S`
echo $WORKDIR
mkdir $WORKDIR
#
# MySQLのダンプ
#
cd $WORKDIR
mysqldump wp_database > dump.sql -u user1 -ppassword
#
# wordpress本体をコピー
#
cp -R /var/www/html/wordpress ./wordpress
#
# まとめて圧縮
#
cd ..
BACKUPFILE="${WORKDIR}bkwp.tar.bz2"
tar cjf $BACKUPFILE $WORKDIR
#
# 作業ディレクトリ削除
#
rm -R $WORKDIR
#
# 世代管理
#
SEDAI=8
BKFILE="*bkwp.tar.bz2"
if [ $(ls $BKFILE|wc -l) -gt $SEDAI ]; then
FILECNT=`expr $(ls $BKFILE|wc -l) - $SEDAI`
for file in `ls -t $BKFILE|tail -n $FILECNT`
do
rm -f $file
done
fi
作業ディレクトリは、単に日付時刻でディレクトリを作成しています。こんな感じで。
$ echo `date +%Y%m%d%H%M%S`
20110509145921
20110509145921
そのディレクトリへ、MySQLからWordpressのデータベースをダンプし、Wordpressを公開しているディレクトリからコピーして、まとめてtar.bz2ファイルに圧縮しています。
実行後に出力されるファイルの例
20110509144054bkwp.tar.bz2
で、最後に、SEDAI=8としている所で、8世代分だけ残して、後は削除するようにしています。
現時点で、バックアップの圧縮ファイル1つ分が7.4MBあり、これが8個あるので大体60MBあります。うーん、まぁ、こんなもんですかね・・
[PR]第3特集:ここだけは知っておきたい シェルスクリプト事始め
Software Design (ソフトウェア デザイン) 2011年 03月号 [雑誌]
posted with amazlet at 11.05.13
技術評論社 (2011-02-18)
コメント
コメントを投稿