Crontabに追加されたrsyncジョブがあり、実行中にrsync PIDがあることを確認し、htopでn個のCPUとRAMを消費していることを確認できます。
私がやりたいのは、リアルタイムでどのファイルが実際にrsyncされているかを監視することです...私がしたいときに。参考までに、私はコマンドに詳細なオプションを渡さず、ロギングも追加していません。オンデマンドでrsyncされているものを確認したいだけです。
どうすればそれを達成できますか?
できるよ:
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')
それが何をしているかを見るため、または
lsof -ad3-999 -c rsync
現在開いているファイルを確認します。
最も簡単な解決策は、rsyncの出力をログファイルにリダイレクトすることです。
rsync -avz /something /somwhere >> ~/rsynclog
別の方法としては、同期する大まかなディレクトリがわかっている場合(つまり、ディレクトリ「movies」を使用する場合など)、lsofとgrepの組み合わせを使用できます。
lsof | grep rsync | grep映画
lsofは開いているファイルを一覧表示し、出力をgrepにパイプしてrsyncによって開かれたファイルを見つけ、パイプをgrepに出力して開いているディレクトリ/ファイルを見つけます。
ここに2つの方法があります
with screen:スクリーンセッションをcronジョブに接続します。
screen rsync --progress src dst
これにより、現在処理しているファイルを確認したいときにいつでもrsync jobbに再接続できます(rsyncジョブを起動したユーザーと同じユーザーであることを確認してください)。
screen -x
ロギングありロギングをrsyncジョブに追加します:
rsync --log-file=/tmp/rsync-status.txt src dst
次に、リアルタイムでログを追跡します。
tail -f /tmp/rsync-status.txt
KirályIstván が示唆するように、私は走っている
rsync -ravz /Users/jkirby/Music/iTunes/* .
次のような出力が得られます
Jeffs-MBP-2:2016-08-15 jkirby$ rsync -ravz /Users/jkirby/Music/iTunes/* .
building file list ... done
Temp File 1.tmp
Temp File.tmp
その出力から、どのディレクトリがコピーされているかを確認できます。
rsync
が大量の大きなファイルをゆっくりコピーしている場合、watch
を使用してそのディレクトリを監視します。このようにして、rsync
が作成する一時ファイルを見ることができ、現在コピーされているファイルのサイズが大きくなるのを見ることができます。
watch -n1 "~/Music/iTunes"