TOPに戻る
鬱るんです
躁鬱病のITエンジニア「はまー」が心と体の模様を記した雑記帳。 大手IT企業で心身ともにぼろぼろになり退職した後、ほそぼそと働いたり事業を立ち上げようとして頓挫したり、作業所に通ったり障害者雇用で働いたりと紆余曲折したが、今は無職な毎日。

夕方、昨日読んだ他の人のブログで、レンタルサーバーでWordpressのデータをローカルにバックアップしているというのがあったのを思い出して、ああそうだ、自分もそれをやった方がいいと思い立ってちょこちょことサーバーをいじっていた。去年までは自宅サーバーでこのサイトを運営していて、デイリーで外付けHDDにバックアップしていた。

レンタルサーバーでも14日分のバックアップは毎日されているが、レンタルサーバーは絶対に信用できるというものでもない。昔ファーストサーバというレンタルサーバーの会社が大規模なユーザデータ消失をやらかした。去年は福井県の「ふくいナビ」というポータルサイトで全データ消失という事態が発生した。やはりレンタルサーバーのデータも手元のマシンにバックアップしておきたい。

バックアップしたいのはMySQLのデータベースと、Webのファイルシステム。これを毎日自動で実行するためには、まずcronが実行できないといけない。レンタルサーバーにSSHでログインしてcrontab -eを実行したら、お、いけそうだ。次にtarコマンドでファイルシステムをアーカイブできるか試したら、うん大丈夫そうだ。

cd $HOMEDIR/public_html
tar cfz $BACKUPDIR/public_html.tgz . 2>&1 > $BACKUPDIR/backup_public_html.log

次にMySQLのバックアップだが、これは最初無理かと思った。mysqlやmysqldumpコマンドは殺されてなかったが、コマンドラインからサーバに接続できない。だめなのかな?と思ったが、よく考えたらこのレンタルサーバーはウェブサーバーとDBサーバーが切り離されている。レンタルサーバーのコントロールパネルからDBサーバーのホスト名を確認し、mysqldumpコマンドのオプションで指定したらうまくいった。

mysqldump --user=xxxxx --password=xxxxx -h xxxxx.ne.jp --all-databases > $BACKUPDIR/mysqldump_all.sql

あとはこれらを実行するシェルスクリプトを書き、cronで深夜1時に実行するようにした。そしてローカルのサーバで、現在レンタルサーバーのapacheのログを毎日FTPでGETしているcronのスクリプトにファイルシステムとMySQLのバックアップファイルを追加。

これで明日から少し安心して寝られるのだ。一応テストはしたが、夜中のcronが両方ともちゃんと動いて無事リモートのバックアップファイルがローカルサーバーに来ているか、明朝に確認しなければ。


コメントする

メールアドレスは公開されません

*は必須項目です