rsync : lftp : robocpy

似たようなコマンドであるrsync、lftp、robocpyを比較する。

rsynchttps://download.samba.org/pub/rsync/rsync.html
lftphttp://lftp.yar.ru/lftp-man.html
robocpyhttps://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

項目rsynclftprobocopy
サブフォルダ(ディレクトリを再帰的に実行)
default再帰なし再帰あり再帰なし
option-r (–recursive)
recurse into directories
-r (–no-recursion)
don't go to subdirectories
/S, /E
Copies subdirectories
(/e includes empty directories)
シンボリックリンク
defaultそのままコピーFTPではシンボリック
リンクは扱えない。
リンクは転送元で
解決される。
リンク先をコピー
option-l (–links)
recreate symlink on dest
/SL
Don't follow symbolic links
and instead create a copy of the link.
パーミッション(属性)
default更新するファイルはコピー
新ファイルはデフォルト
コピーされるファイルのみコピーされる
option-p (–perms)
preserve permissions
-p (–no-perms)
don't set file permissions
/COPY:, /DCOPY:
項目rsynclftprobocopy
タイムスタンプ(更新時刻)
default維持しない(現在時刻)維持されるファイルの時刻は維持される
/COPY:DAT
フォルダの時刻は維持されない
/DCOPY:DA
option-t (–times)
タイムスタンプを維持
/TIMEFIX
Fixes file times on all files,
even skipped ones.
オーナー
defaultinvoking userinvoking userinvoking user
option-o (–owner)
preserve owner
(super-user only)
–allow-chown
set owner and group
/COPY:O
項目rsynclftprobocopy
転送元にないファイルを転送先から削除
option–delete-e (–delete)/PURGE
転送先に存在しているファイルだけコピーする
option–existing–only-existing/XL
Excludes “lonely” files
and directories.
転送先に存在しているファイルはコピーしない
option–ignore-existing–only-missing
転送先のファイルが新しい場合にはコピーしない
 (指定しないと、転送元の古いファイルによる上書きが起こる)
option-u (–update)-n (–only-newer)/XO
Excludes older files.
項目rsynclftprobocopy
除外
option–exclude=PATTERN-x RX (–exclude=RX)
-X GP (–exclude-glob=GP)
/XF FileName
/XD Directory
項目rsynclftprobocopy
表示のみで実行しない (trial run/don't execute/list only)
option-n (–dry-run) –just-print\\–dry-run\\–script=-/L

参考サイト:
 Windowsのrobocopyコマンドでコピーするファイルの種類を選択/変更する
 lftp(1)