両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
linux:rsync [2025/02/26 18:07] – [除外 [--exclude]] ともやん | linux:rsync [2025/05/01 09:35] (現在) – [複数ディレクトリをリモートへ同期] ともやん |
---|
</WRAP> | </WRAP> |
<html><code>--exclude [パターン]</code></html> パターンに一致するものを除外する🤔\\ | <html><code>--exclude [パターン]</code></html> パターンに一致するものを除外する🤔\\ |
| [[.rsync:fedora_vps_duplicate|Fedora VPS サーバーを rsync で複製する😍]] のような場合に活躍するオプション😉\\ |
| |
| ==== 除外パターンを bash braces '{}' で効率よく書く✍😍 ==== |
| ''%%--%%exclude data/log'' ではなく ''%%--%%exclude=data/log'' で書く必要がある🤔\\ |
| ''%%--%%exclude\ data/log'' スペースをバックスラッシュでエスケープすると、bash はブレース展開をシングルクオートで囲むので rsync で **rsync error: syntax or usage error** になるからである🤔\\ |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#0087FF"><b>$</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avzP</font> <font color="#A347BA">--delete</font> \ |
| <font color="#A347BA">--exclude=</font><font color="#2A7BDE"><b>{</b></font><font color="#A347BA">data/log,lib/plugins/codemirror,lib/tpl/tomoyannet,lib/tpl/tomoyannet_lite</font><font color="#2A7BDE"><b>}</b></font> \ |
| <font color="#A347BA">--exclude=data/cache/</font><font color="#2A7BDE"><b>{</b></font><font color="#33D17A"><b>{</b></font><font color="#A347BA">0..9</font><font color="#33D17A"><b>}</b></font><font color="#A347BA">,</font><font color="#33D17A"><b>{</b></font><font color="#A347BA">a..f</font><font color="#33D17A"><b>}</b></font><font color="#2A7BDE"><b>}</b></font> \ |
| <font color="#A347BA">-e</font> ssh \ |
| skv0001://var/www/vhosts/www.tomoyan.net/dokuwiki/ \ |
| <u style="text-decoration-style:solid">~/my_projects/tomoyan.net/sites/tomoyan.net/dokuwiki</u> |
| </pre></html></WRAP> |
| ↓ |
| <WRAP color_command><html><pre> |
| <font color="#0087FF"><b>+</b></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avzP</font> <font color="#A347BA">--delete</font> \ |
| <font color="#A347BA">--exclude</font>=data/log <font color="#A347BA">--exclude</font>=lib/plugins/codemirror <font color="#A347BA">--exclude</font>=lib/tpl/tomoyannet <font color="#A347BA">--exclude=</font>=lib/tpl/tomoyannet_lite \ |
| <font color="#A347BA">--exclude=</font>=data/cache/0 <font color="#A347BA">--exclude</font>=data/cache/1 <font color="#A347BA">--exclude</font>=data/cache/2 <font color="#A347BA">--exclude</font>=data/cache/3 <font color="#A347BA">--exclude</font>=data/cache/4 <font color="#A347BA">--exclude</font>=data/cache/5 <font color="#A347BA">--exclude</font>=data/cache/6 <font color="#A347BA">--exclude</font>=data/cache/7 <font color="#A347BA">--exclude</font>=data/cache/8 <font color="#A347BA">--exclude</font>=data/cache/9 <font color="#A347BA">--exclude</font>=data/cache/a <font color="#A347BA">--exclude</font>=data/cache/b <font color="#A347BA">--exclude</font>=data/cache/c <font color="#A347BA">--exclude</font>=data/cache/d <font color="#A347BA">--exclude</font>=data/cache/e <font color="#A347BA">--exclude</font>=data/cache/f \ |
| -e ssh \ |
| skv0001://var/www/vhosts/www.tomoyan.net/dokuwiki/ \ |
| /home/tomoyan/my_projects/tomoyan.net/sites/tomoyan.net/dokuwiki |
| </pre></html></WRAP> |
| </WRAP> |
| |
| [[dt>rpalo/bash-brackets-quick-reference-4eh6|Bash Brackets Quick Reference - DEV Community]] [[gtr>https://dev.to/rpalo/bash-brackets-quick-reference-4eh6|翻訳]]\\ |
| |
| ==== 複数ディレクトリをリモートへ同期 ==== |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avP<b class=DiYE>R</b></font> <font color="#A347BA">--no-inc-recursive</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> <font color="#A2734C">"ssh -p20022"</font> /var/cache/<font color="#2A7BDE"><b>{</b></font>dnf,libdnf5<font color="#2A7BDE"><b>}</b></font> root@wicked-beat:/ |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| building file list ... |
| 1444 files to consider |
| /var/cache/libdnf5/updates-e19adde8fd271134/packages/ |
| /var/cache/libdnf5/updates-e19adde8fd271134/packages/amd-gpu-firmware-20250410-1.fc41.noarch.rpm |
| 26,173,116 100% 383.94MB/s 0:00:00 (xfr#1, to-chk=775/1444) |
| /var/cache/libdnf5/updates-e19adde8fd271134/packages/amd-ucode-firmware-20250311-1.fc41.noarch.rpm |
| 356,123 100% 4.30MB/s 0:00:00 (xfr#2, to-chk=774/1444) |
| /var/cache/libdnf5/updates-e19adde8fd271134/packages/amd-ucode-firmware-20250410-1.fc41.noarch.rpm |
| 357,604 100% 2.82MB/s 0:00:00 (xfr#3, to-chk=773/1444) |
| /var/cache/libdnf5/updates-e19adde8fd271134/packages/android-tools-35.0.2-2.fc41.x86_64.rpm |
| 2,124,004 100% 2.05MB/s 0:00:00 (xfr#4, to-chk=772/1444) |
| ... |
| </pre></html></WRAP> |
| </WRAP> |
| ''-R'', ''--relative'' 相対パス名を使用する\\ |
| |
| **送信されるパス情報の量を削減する...🤔**\\ |
| <WRAP color_term> |
| <WRAP color_command><html><pre> |
| <font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">rsync</font> <font color="#A347BA">-avRP</font> <font color="#A347BA">--no-inc-recursive</font> <font color="#A347BA">--delete</font> <font color="#A347BA">-e</font> <font color="#A2734C">"ssh -p20022"</font> /var/cache/<b class=DiYE>./</b><font color="#2A7BDE"><b>{</b></font>dnf,libdnf5<font color="#2A7BDE"><b>}</b></font> root@wicked-beat://var/cache/ |
| </pre></html></WRAP> |
| <WRAP color_result><html><pre> |
| building file list ... |
| 1442 files to consider |
| libdnf5/updates-e19adde8fd271134/packages/ |
| libdnf5/updates-e19adde8fd271134/packages/appstream-data-41-11.fc41.noarch.rpm |
| 16,048,246 100% 3.86MB/s 0:00:03 (xfr#1, to-chk=769/1442) |
| libdnf5/updates-e19adde8fd271134/packages/arm-none-eabi-gcc-cs-14.1.0-4.fc41.x86_64.rpm |
| 281,265,139 100% 2.22MB/s 0:02:00 (xfr#2, to-chk=768/1442) |
| libdnf5/updates-e19adde8fd271134/packages/at-spi2-atk-2.54.1-1.fc41.i686.rpm |
| 95,484 100% 825.19kB/s 0:00:00 (xfr#3, to-chk=767/1442) |
| libdnf5/updates-e19adde8fd271134/packages/at-spi2-atk-2.54.1-1.fc41.x86_64.rpm |
| 88,221 100% 700.43kB/s 0:00:00 (xfr#4, to-chk=766/1442) |
| ... |
| </pre></html></WRAP> |
| </WRAP> |
| |
| <WRAP mincode> |
| It is also possible to limit the amount of path information that is sent as |
| implied directories for each path you specify. With a modern rsync on the sending side (beginning with 2.6.7), you can insert a dot and a slash into the source path, like this: |
| CW rsync -avR /foo/./bar/baz.c remote:/tmp/ |
| \\ |
| 送信されるパス情報の量を制限することも可能です |
| 指定する各パスの暗黙のディレクトリ。送信側に最新のRSYNCを使用すると(2.6.7で始まる)、このようなソースパスにドットとスラッシュを挿入できます。 |
| cw rsync -avr /foo/./bar/baz.c remote:/tmp/ |
| </WRAP> |
| |
===== 冗長でくどい Verbose ...😅 ===== | ===== 冗長でくどい Verbose ...😅 ===== |