rsyncプロセスを実行しているモニター/ウォッチ


22

crontabに追加されたrsyncジョブがあり、実行中にrsync PIDがあることを確認し、htopでn個のCPUとRAMを消費していることを確認できます。

私がやりたいのは、リアルタイムでどのファイルが実際にrsyncされているかを監視することです...私がしたいときに。参考までに、私はコマンドに冗長オプションを渡さず、ロギングも追加していません。オンデマンドでrsyncされているものを確認したいだけです。

どうすればそれを達成できますか?

回答:


38

できるよ:

strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')

それが何をしているかを見るため、または

lsof -ad3-999 -c rsync

現在開いているファイルを確認します。



1

ここに2つの方法があります

画面あり: 画面セッションを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

0

別の方法としては、同期する大まかなディレクトリがわかっている場合(つまり、ディレクトリ「movies」を使用する場合など)、lsofとgrepの組み合わせを使用できます。

lsof | grep rsync | grep映画

lsofは、開いているファイルを一覧表示し、出力をgrepにパイプしてrsyncによって開かれたファイルを見つけ、パイプを出力してgrepに開いて、開いているディレクトリ/ファイルを見つけます。


0

以下のようキラリーイシュトが提案され、私が実行しています

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"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.