毎日のブログのバックアップの保管場所をどこにしようかと悩んでいたんですが、Gmailに送ってしまえば良い事に気がつきました。
容量的には問題はないですし、毎日のバックアップの置き場としては問題無さそうです。
暗号化とかは後で考えるとして、とりあえず下のようなスクリプトを書いてみました。
#!/bin/sh AFIO=/usr/local/bin/afio MYSQLHOTCOPY=/usr/bin/mysqlhotcopy SENDMAIL=/usr/sbin/sendmail WORKDIR=/var/tmp WWWDIR=/var/www LOGDIR=/var/log if [ -f /etc/wp_backup ]; then . /etc/wp_backup fi if [ ${MYSQL_USER:-nothing} = "nothing" ]; then exit 1 fi if [ ${MAIL_FROM:-nothing} = "nothing" ]; then exit 1 fi function cleanup() { rm -rf $WORKDIR/mysql rm -f $WORKDIR/$name.afz rm -f $WORKDIR/mysql_$name.afz } trap "cleanup" EXIT name=${1:-blog} if [ ! -d $WORKDIR/mysql ]; then mkdir $WORKDIR/mysql fi ( echo "BACKUP START: `date`" # backup mysql $MYSQLHOTCOPY -u $MYSQL_USER -p $MYSQL_PASSWORD $name $WORKDIR/mysql cd $WORKDIR/mysql find $name | $AFIO -ovz -Z -U $WORKDIR/mysql_$name.afz # backup wordpress cd $WWWDIR find $name | $AFIO -ovz -Z -U $WORKDIR/$name.afz echo "BACKUP FINISHED: `date`" ) >> $LOGDIR/wp_backup.log 2>&1 # send the backup files ( cat <<__END__ From: $MAIL_FROM To: $MAIL_TO Subject: $name backup `date` blog name: $name date: `date` `uuencode $name.afz < $WORKDIR/$name.afz` `uuencode mysql_$name.afz < $WORKDIR/mysql_$name.afz` __END__ ) | $SENDMAIL -f $MAIL_FROM -t $MAIL_TO exit 0
バックアップを Gmail に送信する事はできたので問題は解決したかと思ったんですが、Gmail は uuencode の添付ファイルを認識しないんですねぇ。手元の Apple Mail でも認識していないので単に時代遅れなだけか。
もう少し考えねば