Windows信者としてはどうにもLinuxのコマンドが頭に入らないです。引数の規則性に関するセンスが真逆なんですよね、多分。ただ、やることがある以上はそうも言っていられないので自分メモ。

 

まず、状況的にはどこかにファイルをコピーしたいけどシステム的にディスクI/Oでの負荷をかけられない(or かけたくない)時に転送速度制限をつけてコピーをしたい場合、を想定します。

 

  • ネットワークを介さないローカルコピーの場合 (2MB/s)
   1: root@localhost$ rsync [転送元] [転送先] -avz --bwlimit=2000 --progress --dry-run

   2: root@localhost$ rsync [転送元] [転送先] -avz --bwlimit=2000 --progress

 

  • ネットワークを介してコピーの場合 (scp, 2MB/s)
   1: root@localhost$ scp -l 16000 [転送元] user@remotehost:[転送先]

 

  • ネットワークを介してコピーの場合 (rsync-ssh, 2MB/s)
   1: root@localhost$ rsync [転送元] user@remotehost:[転送先] --progress --bwlimit=2000 -e "ssh" --dry-run

   2: root@localhost$ rsync [転送元] user@remotehost:[転送先] --progress --bwlimit=2000 -e "ssh"

 

rsyncは怖いので—deleteオプションががあろうが無かろうが兎に角—dry-runをつけたいというのが私の心情。まだまだLinuxはわからないことだらけですわ。