ともやん どっと ねっと


2012年5月20日(日) 21:29 JST

rsyncとsshを利用したリモートサーバの高速バックアップ

ここでは、rsyncとsshを利用してリモートサーバのバックアップを取る方法を説明する。
rsyncは指定されたフォルダ間の同期を高速に行うことができる。sshを利用するとリモートサーバとの間でフォルダの同期処理を行える。

リモートサーバ → ローカルフォルダ のバックアップは、以下の形式となる。

$ rsync -avz --delete -e ssh ユーザ@リモートサーバ:バックアップ元フォルダ ローカルバックアップ先フォルダ

sshのportに10022を指定する場合は、以下の形式となる。

$ rsync -avz --delete -e "ssh -p10022" ユーザ@リモートサーバ:バックアップ元フォルダ ローカルバックアップ先フォルダ

実行例:

$ rsync -avz --delete -e ssh username@remote.server.com:/remote/server/folder/ /local/client/folder/20081016
username@remote.server.com's password:
receiving file list ... done
./
log/
log/geeklog.tomoyan.net.1.log
log/geeklog.tomoyan.net.2.log
log/geeklog.tomoyan.net.3.log
...
sent 2594 bytes  received 403518 bytes  14767.71 bytes/sec
total size is 140703092  speedup is 346.46
$

ローカルフォルダ → リモートサーバ の転送は、以下の形式となる。

$ rsync -avz --delete -e ssh ローカルフォルダ ユーザ@リモートサーバ:転送先フォルダ

rsyncコマンドの元フォルダ指定の違いによる動作

フォルダ間の同期を行う場合は、元フォルダ指定の違いによる動作に注意する。

元フォルダの中身が先フォルダに展開される例:

$ rsync -avz --delete -e ssh username@remote.server.com:/remote/server/folder/ /local/client/folder/20081016

/remote/server/folder/ のように、元フォルダの最後に ”/” を付けると、folder の内容が 200881016 内に展開されるかたちで同期される。

先フォルダに元フォルダ名のフォルダが作成される例:

$ rsync -avz --delete -e ssh username@remote.server.com:/remote/server/folder /local/client/folder/20081016

/remote/server/folder のように、元フォルダの最後に ”/” を付けないと、200881016 内に folder が作成されてその中に同期される。

ようこそ: Guest (Guest)
linux/rsync_and_ssh_remote_server_fast_backup.txt · 最終更新: 2012/02/08 00:07 by tomoyan
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Noncommercial-Share Alike 3.0 Unported