rsyncコマンドを使用します。
事前準備
rsyncがインストールされていない場合はインストールをします。
apt-get install rsync
バックアップ(同期)方法
/home/www-data フォルダ以下を、192.168.0.11の/home/backup にバックアップしたい場合、バックアップ元で次のコマンドを実行します。
# rsync -avuz --delete /home/www-data user@192.168.0.11:/home/backup user@192.168.0.11's password: (パスワードを入力)
コマンドを入力するとパスワードが聞かれるので、ユーザ「user」のパスワードを入力します。
rsyncではSSHを使ってファイル転送をします。「user」は192.168.0.11側のSSHユーザIDを指定します。
cronで自動化したい場合
このままだと毎回パスワードが聞かれてしましますのでcronで定期実行ができないので鍵を使用して接続します。
接続元で公開鍵を作成し、その公開鍵を接続先に追加することによりパスワードなしで接続を可能にします。
バックアップ元[192.168.0.10])での鍵作成
鍵の作成
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): #そのままEnterを押す Enter passphrase (empty for no passphrase): #そのままEnterを押す Enter same passphrase again: #そのままEnterを押す Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: 12:34:56:78:90:ab:cd:ef:fh:ij:kl:mn:op:qr:st:uv user@host The key's randomart image is: +---[RSA 2048]----+ | へ_へ | | ノ@@ | |( ハ | | | | | | | | | | | | | +-----------------+
バックアップ先(192.168.0.11)へ鍵をコピー。
$ scp /home/user/.ssh/id_rsa.pub user@192.168.0.11:/home/user/.ssh/
/etc/ssh/sshd_configファイルを編集する。
「AuthorizedKeysFile」がコメント化されていたらコメントをはずす。
PermitRootLogin yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
SSHを再起動
# /etc/init.d/ssh restart
バックアップ先[192.168.0.11])での公開鍵追加
バックアップ先で公開鍵id_rsa.pubをauhorized_keyに追加する。
$ cat /home/user/.ssh/id_rsa.pub >> /home/user/.ssh/authorized_keys
バックアップ元[192.168.0.10])でのSSHログイン確認
バックアップ元からバックアップ先へパスワードなしでログインできることを確認する。
$ ssh user@192.168.0.11
バックアップ元[192.168.0.10])でのバックアップ処理
再度、バックアップコマンドを実行します。
今度はパスワードが聞かれなくなったはずです。
# rsync -avuz --delete /home/www-data user@192.168.0.11:/home/backup
参考元
http://www.unix-power.net/linux/rsync.html
http://qiita.com/QUANON/items/2953c52df7f65f2ecee5