MySQLのデータを日毎にバックアップとっておくことになった。
sqldumpで書き出しておけば、自分じゃなくても戻せるだろう……という理由のもとに、
書き出し方法はシェルとcrontabでいいんじゃないかなぁと妄想しつつ、書いてみる。
#!/bin/sh date_digit=`date +%Y%m%d` week_ago_digit=`date -d '-7 days' +%Y%m%d` for db_name in `mysql -u root -p'00000000' -N -s -e"show databases;"`; do mysqldump -u root -p'00000000' --single-transaction ${db_name} > /home/mysql_daily_backup/${date _digit}_${db_name}.sql scp -Cqpi /root/.ssh/id_rsa /home/mysql_daily_backup/${date_digit}_${db_name}.sql root@111.222.333.444:/var/www/html/mysql_daily_backup cd /home/mysql_daily_backup if [ -e ${week_ago_digit}_${db_name}.sql ]; then rm -rf /home/mysql_daily_backup/${week_ago_digit}_${db_name}.sql fi done;
これでいいのかな?
動いてるからいいかな?
あ、事前に秘密鍵公開鍵の設定は済ませておくこと。