先日、サーバーが故障したことで、バックアップをきちんと取るることにしました。しかし、設定完了まで長かった。
まずは、どうやってバックアップをするか。写真関係は、Windowsのクライアント経由で違うサーバー(VPN経由で物理的に場所が違う玄箱)にBunBackupというアプリケーションでバックアップしています。この方法ですと、Windowsのクライアントは電源が入りっぱなしです。
もう少し、サーバー管理者らしくサーバー間でバックアップするように考えてみました。使ったのは、rsync。rsyncは、サーバー間でファイルの同期を取ってくれます。2つのサーバーでrsyncで同期をとればいいのですが、認証を設定するのが面倒なので(この辺りはまだまだ甘いです)、NFSでバックアップするサーバーのファイルシステムを、バックアップされるサーバーからマウントしてしまいます。
これでrsyncで必要なディレクトをバックアップしてしまいます。しかし、バックアップするファイルサイズが大きいので、最初のバックアップに時間がかかります。nfsでマウントしているのも問題か? 昼間は他の会社さんもネットワークを使っていますので、ネットワークの負荷をかけないためにも夜間だけバックアップを実行します。したがって、何回か分けて1週間ほどかかりました。
あとは、cronを仕掛けて夜中の3:00にrsyncを実行するように設定してしまいます。しかし、朝サーバーのプロセスをみたら、rsyncのプロセスがたくさん溜まっています。
cronの設定を見てみると、
* 3 * * * /root/rsyncbackup.sh
となっていました。webminで何も考えずに設定したのはまずかった。正解は、
0 3 * * * /root/rsyncbackup.sh
ですね。こうしないと午前3:00にバックアップを実行してくれません。単純なミスです。