ユーザ用ツール

サイト用ツール


linux:rsync_and_ssh_remote_server_fast_backup

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:rsync_and_ssh_remote_server_fast_backup [2019/09/13 06:14]
ともやん [マウントした NTFS で何もコピーできない]
— (現在)
ライン 1: ライン 1:
-====== rsyncとsshを利用したリモートサーバの高速バックアップ ====== 
- 
-===== rsync + ssh の基本 ===== 
-ここでは、rsyncとsshを利用してリモートサーバのバックアップを取る方法を説明する。\\ 
-rsyncは指定されたフォルダ間の同期を高速に行うことができる。sshを利用するとリモートサーバとの間でフォルダの同期処理を行える。\\ 
- 
-==== ローカルフォルダ → リモートサーバ の転送 ==== 
-**ローカルフォルダ -> リモートサーバ** の転送は、以下の形式となる。 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e ssh ローカルフォルダ ユーザ@リモートサーバ:​転送先フォルダ 
-</​code>​ 
-</​WRAP>​ 
-**-a** 元のパーミッションやグループなどを保持したまま同期\\ 
-**-v** 処理中のファイル名を表示\\ 
-**-z** データを圧縮する(回線が遅い場合などに使用)\\ 
-**--delete** コピー元で削除されたファイルは、コピー先でも削除\\ 
-**-e ssh** リモートシェルを指定\\ 
-==== リモートサーバ → ローカルフォルダ のバックアップ ==== 
-**リモートサーバ -> ローカルフォルダ** のバックアップは、以下の形式となる。 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e ssh ユーザ@リモートサーバ:​バックアップ元フォルダ ローカルバックアップ先フォルダ 
-</​code>​ 
-</​WRAP>​ 
- 
-sshのportに10022を指定する場合は、以下の形式となる。 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e "ssh -p10022"​ ユーザ@リモートサーバ:​バックアップ元フォルダ ローカルバックアップ先フォルダ 
-</​code>​ 
-</​WRAP>​ 
- 
-実行例: 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e ssh username@remote.server.com:/​remote/​server/​directory/​ /​local/​client/​directory/​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 
-$ 
-</​code>​ 
-</​WRAP>​ 
- 
-===== rsyncコマンドの元ディレクトリ指定の違いによる動作 ===== 
-ディレクトリ間の同期を行う場合は、元ディレクトリ指定の違いによる動作に注意する。\\ 
-\\ 
-元ディレクトリの中身が先ディレクトリに展開される例:​ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e ssh username@remote.server.com:/​remote/​server/​directory/​ /​local/​client/​directory/​20081016 
-</​code>​ 
-</​WRAP>​ 
-/​remote/​server/​directory<​html><​span style="​color:​ red">/</​span></​html>​ のように、元ディレクトリの最後に "<​html><​span style="​color:​ red">/</​span></​html>"​ を付けると、directory の内容が 20081016 内に展開されるかたちで同期される。\\ 
-\\ 
-先ディレクトリに元ディレクトリ名のディレクトリが作成される例:​ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e ssh username@remote.server.com:/​remote/​server/​directory /​local/​client/​directory/​20081016 
-</​code>​ 
-</​WRAP>​ 
-/​remote/​server/<​html><​span style="​color:​ red">​directory</​span></​html>​ のように、元ディレクトリの最後に "<​html><​span style="​color:​ red">/</​span></​html>"​ を付けないと、20081016 内に directory が作成されてその中に同期される。\\ 
- 
-===== rsync でレジューム同期を行うには? ===== 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avzP --delete -e ssh user@remote.srv.com:/​remote/​server/​directory/​ /​local/​client/​directory/​20150804 
-</​code>​ 
-</​WRAP>​ 
-**-P** --partial --progressと同じ 
- 
-===== rsync 進行状況を正確に知る ===== 
--P または --progress で ir-chk=3604/​183542 と表示されて、実行状況の分母が ir-chk=3005/​184542 増えるので、正確な進行状況が分かりにくい場合がある。ir-chk (for incremental recursion check)\\ 
---no-inc-recursive オプションを使うと最初に全ての処理対象をカウントして to-chk=3019/​196542 のような表示にできる。\\ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avzP --delete --no-inc-recursive -e ssh user@remote.srv.com:/​remote/​server/​directory/​ /​local/​client/​directory/​20150804 
-</​code>​ 
-</​WRAP>​ 
- 
-===== トラブルシューティング ===== 
- 
-==== rsync で同期中に Operation not permitted のエラーが出る ==== 
-以下のようなエラーが出る場合は、rsync がファイルシステムのタイムスタンプやパーミッションをセットする権限がないため発生している。\\ 
-<​code>​ 
-rsync: failed to set times on "/​var/​www/​html/​.":​ Operation not permitted (1) 
-</​code>​ 
-権限のあるユーザーで同期するか、sudo を付けて実行するとエラーはでなくなる。\\ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ sudo rsync -avz --delete -e ssh user@remote.server.com:/​remote/​server/​directory/​ /​local/​client/​directory/​ 
-</​code>​ 
-</​WRAP>​ 
- 
-==== rsync で同期中に mkdir "/​var/​www/​html/"​ failed: No such file or directory (2) のエラーが出る ==== 
-以下のようなエラーが出る場合は、rsync が ”/​var/​www/​html/​” の mkdir に失敗しているため発生している。\\ 
-対処方法はあらかじめ "/​var/​www/​html/"​ を用意してあげるか、階層が存在するディレクトリをコピーする。\\ 
-あらかじめ階層を用意するには以下のコマンドを実行する。\\ 
-<​code>​ 
-$ mkdir -p /​var/​www/​html/​ 
-</​code>​ 
- 
-==== マウントした NTFS で何もコピーできない ==== 
-以下のように表示されるだけで中身がなにもコピーされない。\\ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete -e /​var/​www/​vhosts/​ '/​mnt/​win_c-drv/​Program Files (x86)/​Ampps/​www/​vhosts/'​ 
-sending incremental file list 
-drwxrwxrwx ​             0 2019/09/13 05:48:31 . 
- 
-sent 48 bytes  received 64 bytes  224.00 bytes/sec 
-total size is 0  speedup is 0.00 
-</​code>​ 
-</​WRAP>​ 
-**-a** オプションは **-rlptgoD** を指定した事になる。\\ 
-**-v** オプションは **verbose (詳細表示)**\\ 
-**-z** オプションは **転送時に圧縮**\\ 
-**-e** オプションは **"ssh -p10022"​ SSH でポートを指定する**\\ 
-この場合マウントした NTFS なので **-e** オプションは不要である。(単純にコマンドオプションのミス)\\ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -avz --delete /​var/​www/​vhosts/​ '/​mnt/​win_c-drv/​Program Files (x86)/​Ampps/​www/​vhosts/'​ 
-〜省略〜 
-sent 1,​243,​360,​982 bytes  received 891,926 bytes  8,​378,​807.46 bytes/sec 
-total size is 1,​626,​537,​962 ​ speedup is 1.31 
-</​code>​ 
-</​WRAP>​ 
-**-e** オプションを外すとすんなりコピーできた。\\ 
-それでもコピー出来ない場合は **-a** オプションを分解して以下を試す。\\ 
-<WRAP prewrap 100%> 
-<​code>​ 
-$ rsync -rlptvz --delete /​var/​www/​vhosts/​ '/​mnt/​win_c-drv/​Program Files (x86)/​Ampps/​www/​vhosts/'​ 
-〜省略〜 
-sent 1,​243,​360,​982 bytes  received 891,926 bytes  8,​378,​807.46 bytes/sec 
-total size is 1,​626,​537,​962 ​ speedup is 1.31 
-</​code>​ 
-</​WRAP>​ 
- 
-===== 参考文献 ===== 
-[[http://​www.maruko2.com/​mw/​rsync_%E3%81%A7%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E5%90%8C%E6%9C%9F%EF%BC%88%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%EF%BC%89|rsync でディレクトリの同期(バックアップ) - maruko2 Note.]]\\ 
-[[http://​superuser.com/​questions/​534862/​what-does-rsyncs-output-tell-here-about-to-chk|What does Rsync'​s output tell here about to-chk?]]\\ 
  
linux/rsync_and_ssh_remote_server_fast_backup.1568322889.txt.gz · 最終更新: 2019/09/13 06:14 by ともやん