似たようなコマンドであるrsync、lftp、robocpyを比較する。
rsync — https://download.samba.org/pub/rsync/rsync.html
lftp — http://lftp.yar.ru/lftp-man.html
robocpy — https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
項目 | rsync | lftp | robocopy |
---|---|---|---|
サブフォルダ(ディレクトリを再帰的に実行) | |||
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: |
項目 | rsync | lftp | robocopy |
タイムスタンプ(更新時刻) | |||
default | 維持しない(現在時刻) | 維持される | ファイルの時刻は維持される (/COPY:DAT) フォルダの時刻は維持されない (/DCOPY:DA) |
option | -t (–times) タイムスタンプを維持 | /TIMEFIX Fixes file times on all files, even skipped ones. |
|
オーナー | |||
default | invoking user | invoking user | invoking user |
option | -o (–owner) preserve owner (super-user only) | –allow-chown set owner and group | /COPY:O |
項目 | rsync | lftp | robocopy |
転送元にないファイルを転送先から削除 | |||
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. |
項目 | rsync | lftp | robocopy |
除外 | |||
option | –exclude=PATTERN | -x RX (–exclude=RX) -X GP (–exclude-glob=GP) | /XF FileName /XD Directory |
項目 | rsync | lftp | robocopy |
表示のみで実行しない (trial run/don't execute/list only) | |||
option | -n (–dry-run) | –just-print\\–dry-run\\–script=- | /L |