両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
linux:rsync [2024/01/13 22:09] – 外部編集 非ログインユーザー | linux:rsync [2024/03/14 12:32] (現在) – [rsyncコマンドの元ディレクトリ指定の違いによる動作] ともやん |
---|
| |
===== rsync + ssh の基本 ===== | ===== rsync + ssh の基本 ===== |
| <WRAP group> |
| <WRAP column> |
<html> | <html> |
<!-- a8net --> | <!-- a8net --> |
<img border="0" width="300" height="250" alt="" src="https://www25.a8.net/svt/bgt?aid=240113051563&wid=001&eno=01&mid=s00000016458003008000&mc=1"></a> | <img border="0" width="300" height="250" alt="" src="https://www25.a8.net/svt/bgt?aid=240113051563&wid=001&eno=01&mid=s00000016458003008000&mc=1"></a> |
<img border="0" width="1" height="1" src="https://www14.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+HWPVL" alt=""> | <img border="0" width="1" height="1" src="https://www14.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+HWPVL" alt=""> |
</html>\\ | </html> |
| </WRAP> |
| <WRAP column> |
| ユニークな転職ナビ押してミソ👆😍 |
| </WRAP> |
| </WRAP> |
ここでは、rsyncとsshを利用してリモートサーバのバックアップを取る方法を説明する。\\ | ここでは、rsyncとsshを利用してリモートサーバのバックアップを取る方法を説明する。\\ |
rsyncは指定されたフォルダ間の同期を高速に行うことができる。sshを利用するとリモートサーバとの間でディレクトリの同期処理を行える。\\ | rsyncは指定されたフォルダ間の同期を高速に行うことができる。sshを利用するとリモートサーバとの間でディレクトリの同期処理を行える。\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>sudo</b> rsync <b class=HIK>-avP --delete --copy-links</b> /home/samba/DataShare /mnt/backup/ | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avP</font> <font color="#A347BA">--delete</font> <font color="#A347BA">--copy-links</font> /home/samba/source /mnt/backup/ |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
**-a** 元のパーミッションやグループなどを保持したまま同期\\ | <html><code>-a</code></html> 元のパーミッションやグループなどを保持したまま同期\\ |
**-v** 処理中のファイル名を表示\\ | <html><code>-v</code></html> 処理中のファイル名を表示\\ |
**-P** 進行状況を表示\\ | <html><code>-P</code></html> 進行状況を表示\\ |
**--delete** コピー元で削除されたファイルは、コピー先でも削除\\ | <html><code>--delete</code></html> コピー元で削除されたファイルは、コピー先でも削除\\ |
**--copy-links** シンボルリンク先のファイルをコピー\\ | <html><code>--copy-links</code></html> シンボルリンク先のファイルをコピー\\ |
-z データを圧縮する(ローカルコピーでは速度が低下するので指定しない)\\ | <html><code>-z</code></html> データを圧縮する(ローカルコピーでは速度が低下するので指定しない)\\ |
<html> | <html> |
<a href="https://px.a8.net/svt/ejp?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" rel="nofollow">選ばれて10年。エンジニアの気持ちが分かる転職エージェントは【アイムファクトリー】</a> | <a href="https://px.a8.net/svt/ejp?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" rel="nofollow">選ばれて10年。エンジニアの気持ちが分かる転職エージェントは【アイムファクトリー】</a> |
<img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> | <img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> |
</html>\\ | </html>\\ |
| |
==== ローカルディレクトリ → リモートサーバ の転送 ==== | ==== ローカルディレクトリ → リモートサーバ の転送 ==== |
**ローカルディレクトリ -> リモートサーバ** の転送を行うには、以下のコマンドを実行する😉 | **ローカルディレクトリ -> リモートサーバ** の転送を行うには、以下のコマンドを実行する😉 |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> ssh ローカルディレクトリ ユーザ@リモートサーバ:転送先フォルダ | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh ローカルディレクトリ ユーザ@リモートサーバ:転送先フォルダ |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
**-a** 元のパーミッションやグループなどを保持したまま同期\\ | <html><code>-a</code></html> 元のパーミッションやグループなどを保持したまま同期\\ |
**-v** 処理中のファイル名を表示\\ | <html><code>-v</code></html> 処理中のファイル名を表示\\ |
**-z** データを圧縮する(回線が遅い場合などに使用)\\ | <html><code>-z</code></html> データを圧縮する(回線が遅い場合などに使用)\\ |
**--delete** コピー元で削除されたファイルは、コピー先でも削除\\ | <html><code>--delete</code></html> コピー元で削除されたファイルは、コピー先でも削除\\ |
**-e ssh** リモートシェルを指定\\ | <html><code>-e ssh</code></html> リモートシェルを指定\\ |
| <html> |
| <!-- a8net --> |
| <a href="https://px.a8.net/svt/ejp?a8mat=3YYGEZ+9B72CY+3IZO+I2PXE" rel="nofollow">自社で腰を落ち着けて仕事がしたい方は【社内SE転職ナビ】へ</a> |
| <img border="0" width="1" height="1" src="https://www16.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I2PXE" alt=""> |
| </html> |
| |
==== リモートサーバ → ローカルディレクトリ のバックアップ ==== | ==== リモートサーバ → ローカルディレクトリ のバックアップ ==== |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> ssh ユーザ@リモートサーバ:バックアップ元ディレクトリ ローカルバックアップ先ディレクトリ | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh ユーザ@リモートサーバ:バックアップ元ディレクトリ ローカルバックアップ先ディレクトリ |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> "ssh -p10022" ユーザ@リモートサーバ:バックアップ元ディレクトリ ローカルバックアップ先ディレクトリ | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> <font color="#A2734C">"ssh -p10022"</font> ユーザ@リモートサーバ:バックアップ元ディレクトリ ローカルバックアップ先ディレクトリ |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> ssh username@remote.server.com:/remote/server/directory/ /local/client/directory/20081016 | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh username@remote.server.com:/remote/server/directory/ /local/client/directory/20081016 |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
sent 2594 bytes received 403518 bytes 14767.71 bytes/sec | sent 2594 bytes received 403518 bytes 14767.71 bytes/sec |
total size is 140703092 speedup is 346.46 | total size is 140703092 speedup is 346.46 |
</pre></html></WRAP> | |
<WRAP color_command><html><pre> | |
<b class=GRN>$</b> | |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> | <img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> |
</html>\\ | </html>\\ |
| |
===== rsyncコマンドの元ディレクトリ指定の違いによる動作 ===== | ===== rsyncコマンドの元ディレクトリ指定の違いによる動作 ===== |
ディレクトリ間の同期を行う場合は、元ディレクトリ指定の違いによる動作に注意する😉\\ | ディレクトリ間の同期を行う場合は、元ディレクトリ指定の違いによる動作に注意する😉\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> ssh username@remote.server.com:/remote/server/directory/ /local/client/directory/20081016 | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh username@remote.server.com:/remote/server/<b class=DiYE>directory</b><b class=RED>/</b> /local/client/directory/20081016 |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
/remote/server/directory<html><span style="color: red">/</span></html> のように、元ディレクトリの最後に "<html><span style="color: red">/</span></html>" を付けると、directory の内容が 20081016 内に展開されるかたちで同期される🤔\\ | <html><code>/remote/server/<b class=RED>directory/</b></code></html> のように、元ディレクトリの最後に "<html><code><b class=RED>/</b></code></html>" を付けると、<html><code>directory</code></html> の内容が <html><code>20081016</code></html> 内に展開されるかたちで同期される🤔\\ |
\\ | \\ |
先ディレクトリに元ディレクトリ名のディレクトリが作成される例: | 先ディレクトリに元ディレクトリ名のディレクトリが作成される例: |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> ssh username@remote.server.com:/remote/server/directory /local/client/directory/20081016 | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh username@remote.server.com:/remote/server/<b class=DiYE>directory</b> /local/client/directory/20081016 |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
/remote/server/<html><span style="color: red">directory</span></html> のように、元ディレクトリの最後に "<html><span style="color: red">/</span></html>" を付けないと、20081016 内に directory が作成されてその中に同期される🤔\\ | <html><code>/remote/server/<b class=RED>directory</b></code></html> のように、元ディレクトリの最後に "<html><code><b class=RED>/</b></code></html>" を付けないと、<html><code>20081016</code></html> 内に <html><code>directory</code></html> が作成されてその中に同期される🤔\\ |
| |
===== rsync でレジューム同期を行うには? ===== | ===== rsync でレジューム同期を行うには? ===== |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avzP --delete -e</b> ssh user@remote.srv.com:/remote/server/directory/ /local/client/directory/20150804 | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avzP</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh user@remote.srv.com:/remote/server/directory/ /local/client/directory/20150804 |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
**-P** --partial --progressと同じ | <html><code>-P</code></html> --partial --progressと同じ |
| |
===== rsync 進行状況を正確に知る ===== | ===== rsync 進行状況を正確に知る ===== |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avzP --delete --no-inc-recursive -e</b> ssh user@remote.srv.com:/remote/server/directory/ /local/client/directory/20150804 | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avzP</font> <font color="#A347BA">--delete</font> <font color="#A347BA">--no-inc-recursive</font> <font color="#A347BA">-e</font> ssh user@remote.srv.com:/remote/server/directory/ /local/client/directory/20150804 |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>sudo</b> rsync <b class=HIK>-avz --delete -e</b> ssh user@remote.server.com:/remote/server/directory/ /local/client/directory/ | <font color="#FF8700"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> ssh user@remote.server.com:/remote/server/directory/ /local/client/directory/ |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
$ mkdir -p /var/www/html/ | <font color="#FF8700"><b>$</b></font> <font color="#26A269">mkdir</font> <font color="#A347BA">-p</font> <u style="text-decoration-style:single">/var/www/html/</u> |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete -e</b> /var/www/vhosts/ '/mnt/win_c-drv/Program Files (x86)/Ampps/www/vhosts/' | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> /var/www/vhosts/ <font color="#A2734C">'/mnt/win_c-drv/Program Files </font><font color="#12488B"><b>(</b></font><font color="#A2734C">x86</font><font color="#12488B"><b>)</b></font><font color="#A2734C">/Ampps/www/vhosts/'</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
**-a** オプションは **-rlptgoD** を指定した事になる。\\ | <html><code>-a</code></html> オプションは **-rlptgoD** を指定した事になる。\\ |
**-v** オプションは **verbose (詳細表示)**\\ | <html><code>-v</code></html> オプションは **verbose (詳細表示)**\\ |
**-z** オプションは **転送時に圧縮**\\ | <html><code>-z</code></html> オプションは **転送時に圧縮**\\ |
**-e** オプションは **"ssh -p10022" SSH でポートを指定する**\\ | <html><code>-e</code></html> オプションは **"ssh -p10022" SSH でポートを指定する**\\ |
この場合マウントした NTFS なので **-e** オプションは不要である。(単純にコマンドオプションのミス😅)\\ | この場合マウントした NTFS なので **-e** オプションは不要である。(単純にコマンドオプションのミス😅)\\ |
\\ | \\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-avz --delete</b> /var/www/vhosts/ '/mnt/win_c-drv/Program Files (x86)/Ampps/www/vhosts/' | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avz</font> <font color="#A347BA">--delete</font> /var/www/vhosts/ <font color="#A2734C">'/mnt/win_c-drv/Program Files </font><font color="#12488B"><b>(</b></font><font color="#A2734C">x86</font><font color="#12488B"><b>)</b></font><font color="#A2734C">/Ampps/www/vhosts/'</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<b class=GRN>$</b> <b class=HIY>rsync</b> <b class=HIK>-rlptvz --delete</b> /var/www/vhosts/ '/mnt/win_c-drv/Program Files (x86)/Ampps/www/vhosts/' | <font color="#FF8700"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-rlptvz</font> <font color="#A347BA">--delete</font> /var/www/vhosts/ <font color="#A2734C">'/mnt/win_c-drv/Program Files </font><font color="#12488B"><b>(</b></font><font color="#A2734C">x86</font><font color="#12488B"><b>)</b></font><font color="#A2734C">/Ampps/www/vhosts/'</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
===== 参考文献 ===== | ===== 参考文献 ===== |
<html> | <html> |
| <!-- a8net --> |
<a href="https://px.a8.net/svt/ejp?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" rel="nofollow">選ばれて10年。エンジニアの気持ちが分かる転職エージェントは【アイムファクトリー】</a> | <a href="https://px.a8.net/svt/ejp?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" rel="nofollow">選ばれて10年。エンジニアの気持ちが分かる転職エージェントは【アイムファクトリー】</a> |
<img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> | <img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I3D2Q" alt=""> |
[[http://superuser.com/questions/534862/what-does-rsyncs-output-tell-here-about-to-chk|What does Rsync's output tell here about to-chk?]]\\ | [[http://superuser.com/questions/534862/what-does-rsyncs-output-tell-here-about-to-chk|What does Rsync's output tell here about to-chk?]]\\ |
| |
| <WRAP group> |
| <WRAP column> |
<html> | <html> |
<!-- a8net --> | <!-- a8net --> |
<img border="0" width="1" height="1" src="https://www19.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I1NCH" alt=""> | <img border="0" width="1" height="1" src="https://www19.a8.net/0.gif?a8mat=3YYGEZ+9B72CY+3IZO+I1NCH" alt=""> |
</html> | </html> |
| </WRAP> |
| <WRAP column> |
| 押してはダメ🙅♂️だ転職しちゃうぞ👆 |
| </WRAP> |
| </WRAP> |
| |