Linuxでフォルダ同期(バックアップ)する方法

rsyncコマンドを使用します。

事前準備

rsyncがインストールされていない場合はインストールをします。
[shell]
apt-get install rsync
[/shell]

バックアップ(同期)方法

/home/www-data フォルダ以下を、192.168.0.11の/home/backup にバックアップしたい場合、バックアップ元で次のコマンドを実行します。
[shell]
# rsync -avuz –delete /home/www-data user@192.168.0.11:/home/backup
user@192.168.0.11’s password: (パスワードを入力)
[/shell]

コマンドを入力するとパスワードが聞かれるので、ユーザ「user」のパスワードを入力します。
rsyncではSSHを使ってファイル転送をします。「user」は192.168.0.11側のSSHユーザIDを指定します。

cronで自動化したい場合

このままだと毎回パスワードが聞かれてしましますのでcronで定期実行ができないので鍵を使用して接続します。
接続元で公開鍵を作成し、その公開鍵を接続先に追加することによりパスワードなしで接続を可能にします。

バックアップ元[192.168.0.10])での鍵作成

鍵の作成
[shell]
$ 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]—-+
|  へ_へ |
| ノ@@ |
|(    ハ |
| |
| |
| |
| |
| |
| |
+—————–+
[/shell]

バックアップ先(192.168.0.11)へ鍵をコピー。
[shell]
$ scp /home/user/.ssh/id_rsa.pub user@192.168.0.11:/home/user/.ssh/
[/shell]

/etc/ssh/sshd_configファイルを編集する。
「AuthorizedKeysFile」がコメント化されていたらコメントをはずす。

[code title=”/etc/ssh/sshd_config”]
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
[/code]

SSHを再起動
[shell]
# /etc/init.d/ssh restart
[/shell]

バックアップ先[192.168.0.11])での公開鍵追加

バックアップ先で公開鍵id_rsa.pubをauhorized_keyに追加する。
[shell]
$ cat /home/user/.ssh/id_rsa.pub >> /home/user/.ssh/authorized_keys
[/shell]

バックアップ元[192.168.0.10])でのSSHログイン確認

バックアップ元からバックアップ先へパスワードなしでログインできることを確認する。
[shell]
$ ssh user@192.168.0.11
[/shell]

バックアップ元[192.168.0.10])でのバックアップ処理

再度、バックアップコマンドを実行します。
今度はパスワードが聞かれなくなったはずです。
[shell]
# rsync -avuz –delete /home/www-data user@192.168.0.11:/home/backup
[/shell]

参考元

http://www.unix-power.net/linux/rsync.html
http://webkaru.net/linux/rsync-command/
http://qiita.com/QUANON/items/2953c52df7f65f2ecee5

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です