rsync + ssh でバックアップ

1. backup 用の鍵を生成

ssh-keygen -t rsa -b 4096 -N "" -f $HOME/.ssh/id_rsa.admin

よく使われる暗号方式として rsa と dsa があるが、現状では rsa を選択しておくのが無難。
rsa の default は今のところ 2048bit なので、気持ち長めに設定。

ざっと調べた感じ

  • ライセンスの問題で、古い openssl には rsa がサポートされていない事もあるので、歴史あるシステムでは要事前調査。
  • dsa は仕様上、鍵長を 1024bit 以上に設定できない。
  • ssl で rsa は聞くけど dsa ってあんま聞かない。

2. バックアップ先に公開鍵を登録

3. crontab

$ crontab -l
0    4 *    * * /usr/bin/mysqldump <dbname> -u<user> -p<pass> | /bin/gzip > /home/backup/daily.<dbname>.`date '+\%y\%m\%d'`.gz
30   4 *    * * /usr/bin/find /home/backup/ -name 'daily.*,gz' -type f -ctime +30 -delete
0    4 15   * * /usr/bin/mysqldump --all-databases -u<user> -p<pass> | /bin/gzip > /home/backup/monthly.all.`date '+\%y\%m\%d'`.gz
30   4 15   * * /usr/bin/find /home/backup/ -name 'monthly.*.gz' -type f -ctime +120 -delete
0    5 *    * * /usr/bin/rsync -e "ssh -i <pathtoid>" -az --delete /home/backup/ <remote>:/home/backup/
linux.txt · Last modified: 2007/08/28 12:14 by topaz2