rsyncでバックアップ

個人の趣味で使用しているサーバですし、厳密にバックアップを考えた運用をしたいと言うわけではありませんが、万が一というときにバックアップがあ ると安心というのはあると思います。これはさくらインターネットのサーバでデータがどの程度バックアップされているかという以外にも、ミスによりデータを 消したり変更したりしてしまったときの保険という意味でも安心につながります。

そこでサーバのデータをお手軽にローカルのマシンにもコピーするツールとしてrsyncを使いたいと思います。もっとも私はrsync以外のバックアップツールや業務レベルでバックアップの運用知識はありませんが。

とりあえずrsyncの使い方は簡単です。

$ rsync オプション コピー元 コピー先

rsyncが最近どの程度使われているかは知りませんが、ツール自体は自宅のFedora環境にも入ってますし、さくらインターネットのFreeBSD環境にも入ってます。

今回はローカル側からrsyncコマンドを実行することにします。

$ rsync -a –delete ユーザ名@サーバ名:www sakura

これでサーバ上のwwwディレクトリがローカルのsakuraディレクトリにバックアップされます。-aというのは属性の保存などをまとめて指定す るバックアップ用の便利なオプションです。デフォルトの動作ではコピー元で削除されたファイルがコピー先に存在しても削除されませんが–deleteを指 定することで削除されます。これで完全にコピー元のミラーがコピー先に構築されることになります。

初回はすべてのファイルをコピーするので多少時間がかかりますが、2回目以降は変更された部分のみのコピーなので無駄もありません。

他にもよく使われるオプションとして、-vでコピーしているファイル名の表示、-zでコピーするファイルを圧縮して転送などがあります。こちらのIT mediaの記事にもう少し詳しい説明があります。ディレクトリの指定をするときの末尾のスラッシュは慣れるまで注意が必要だと思います。

データのやりとりはsshを使って行われています。以前はrshを使うのがデフォルトであったため、-eオプションでsshを指定する必要がありましたが、どうやら最近はsshがデフォルトになったようです。

前回のエントリでDSA認証を使ってパスワードなしでsshを使用する設定をしていますので、今回のこのバックアップでもパスワードを要求されることはなく便利です。