Debian13-Windows11間で高機能コピーソフトが必要になったのでrsyncを使おうといじくり回してたら使うことに成功したので共有。
検証環境・バージョン
送り側:
Windows 11 Pro 24H2
rsync 3.4.1 protocol version 32
Powershell Core x64 7.5.3 + oh-my-posh
受け側:
Debian 13.1.0
rsync 3.4.1 protocol version 32
zsh 5.9 (x86_64-debian-linux-gnu) + oh-my-zsh
転送方法: rsyncd
前提条件、想定読者
- MSYS2がインストール済みであり、インストールディレクトリ\usr\binへのPathがWindows上で通っている
- 7-Zipがインストールされており、使用可能である
- 「Pathを通す」などの用語が理解できる
- (このページにある内容を理解できる)
手順
1. rsyncをダウンロード&展開
MSYS2 repoから、最新版のrsync(rsync-◯.◯.◯-◯-x86_64.pkg.tar.zst
)をダウンロードします。
適当な場所に7-Zipで展開して、展開後のusr/bin
にPathを通しておきます(自分の場合はC:\Applications\rsync
に展開しました)。
2. libxxhashをダウンロード&展開
MSYS2 repoから、最新版のlibxxhash(libxxhash-◯.◯.◯-◯-x86_64.pkg.tar.zst
)をダウンロードします。
MSYSのインストールディレクトリ(既定だとC:\msys64)\usr\lib
に、中身のmsys-xxhash-0.dllを配置します。
3. 受け側でrsyncdを立ち上げる
まず、受け側の/etc/rsyncd.conf
を作成します。(下は一例)
[work]
path = /home/yu-yu0202/rsynctest
uid = yu-yu0202
gid = yu-yu0202
read only = no
list = yes
次にrsyncdを起動します。sudo systemctl enable --now rsync
sudo systemctl start rsync
sudo systemctl status rsync
がactive (running)になっていれば大丈夫です。
4. ファイルを転送する
送り側から転送コマンドを叩きます。rsync -av $env:USERPROFILE\Document\rsync_test rsync://yu-yu0202@devenv.local/rsynctest
もちろんexclude
オプションなども使えます。
終わりに
いかかだったでしょうか。
Windowsはrsyncを標準搭載してほしいですね、curlみたいに()
ではでは~(@^^)/~~~
コメント