Twitterに投稿 はてなブックマークに追加 Google Bookmarksに追加

目次 >> rsync

rsyncによるバックアップ

UnixやWindows、Macなどで使えるバックアップツールはOSに付属のものから市販のものまで無数に存在するが、ここで紹介するrsyncは多くのOS上で動きかつ、その特別なアルゴリズムにより、すでに存在するファイルを転送しないだけでなく、バイナリの差分のみを転送する非常に優れたバックアップツールである。
同じパソコン内のHDDから別のHDDへのバックアップや、sshを使った遠隔地のサーバへのバックアップなど柔軟なバックアップができる。
LinuxやMac OS Xでは標準で(もしくはパッケージのインストールで)、Windowsではcygwinに入っており、このコマンドが使いこなせれば、OSなどが変わっても常に同じ方法でバックアップを取ることができる。
使い方の基本は

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

である。

主なオプションとしては、

例1:手元のファイルをネットワーク上のコンピュータにバックアップする

使い方は下記の通り。

$ rsync -avz -e "ssh -l ユーザー名" コピー元 コピー先

オプションのaは属性の保存を、vはコピー中詳細表示を、zは転送時に圧縮を指定している。

例:

$ rsync -avz -e "ssh -l foo" /hoge example.com:/home/foo/backup

例2:手元のファイルをネットワーク上のコンピュータにミラーリングバックアップする

$ rsync -avz --delete -e "ssh -l ユーザー名" コピー元 コピー先

オプションのaは属性の保存を、vはコピー中詳細表示を、zは転送時に圧縮を指定している。

例:

$ rsync -avz --delete -e "ssh -l foo" /hoge example.com:/home/foo/backup

ここでは、/hogeディレクトリ内のファイルをexample.comというホストの/home/foo/backupディレクトにバックアップを取っている。転送にはsshを使い、ユーザー名はfooである。cronで実行する場合は、詳細表示はいらないので、

rsync -az -e "ssh -l foo" /hoge example.com:/home/foo/backup

このような内容にすればいい。なお、sshで接続する際には、公開鍵認証を使いパスワードなしでアクセスできるようにしておく。

ネットワーク帯域を制限するには?

rsyncでネットワーク帯域を制限して転送するには、--bwlimitオプションを使う。単位はkbps。

例:

$ rsync -avz -e "ssh -l foo" --bwlimit=50 /hoge example.com:/home/foo/backup

この例では、50kbpsに制限して転送している。

rdiff-backupでバックアップ

rdiff-backupはMac OS Xのタイムマシンのような機能を提供するLinuxやCygwin上で実行可能なソフトである。また、Mac OS Xでも実行可能であり、タイムマシンではバックアップ先にいろいろと制限があるが、このソフトは同一ディスク内やsambaフォルダへのバックアップも可能である。

本家:http://www.nongnu.org/rdiff-backup/

lftpによるミラーリングバックアップ

リンク

参考:バックアップツール rsyncコマンドの使い方

これらのコマンドを定期的にcronで動かせば、自動的にバックアップを取ることができる。

最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて20.04、21.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2021 Chikuma Engineering Co., Ltd. All Rights Reserved.