Monitor / Tonton menjalankan proses rsync

22

Saya memiliki pekerjaan rsync yang telah ditambahkan ke crontab dan ketika sedang berjalan, saya hanya dapat memeriksa bahwa ada PID rsync dan mengkonfirmasi dengan htop bahwa itu memakan n jumlah CPU dan RAM.

Yang ingin saya lakukan adalah memonitor file apa yang sebenarnya sedang di-real-time ... ketika saya mau. FYI Saya belum memberikan opsi verbose ke perintah atau menambahkan logging. Saya benar-benar hanya ingin memeriksa apa yang sedang diminta sesuai permintaan.

Adakah ide bagaimana saya bisa mencapainya?

vanz
sumber

Jawaban:

38

Anda dapat melakukan:

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

Untuk melihat apa yang dilakukannya, atau

lsof -ad3-999 -c rsync

untuk melihat file apa yang saat ini dibuka.

Stéphane Chazelas
sumber
3

Solusi paling sederhana adalah mengarahkan output rsync ke sebuah file log.

rsync -avz /something /somwhere >> ~/rsynclog
Király István
sumber
1

Berikut ini dua cara

Dengan layar: Lampirkan sesi layar ke pekerjaan cron Anda:

layar rsync - kemajuan src dst

ini akan memungkinkan Anda untuk melampirkan kembali ke rsync jobb kapan pun Anda ingin memeriksa file apa yang sedang diproses (pastikan untuk menjadi pengguna yang sama dengan yang meluncurkan pekerjaan rsync) dengan

screen -x

Dengan logging tambahkan logging ke pekerjaan rsync Anda:

rsync --log-file=/tmp/rsync-status.txt  src dst

kemudian ikuti login secara real time dengan:

 tail -f /tmp/rsync-status.txt
tomodachi
sumber
0

Cara lain yang dapat Anda lakukan adalah jika Anda tahu direktori kasar yang akan Anda selaraskan (misalnya, kami akan menggunakan direktori 'film' misalnya) Anda dapat menggunakan kombinasi lsof dan grep:

lsof | grep rsync | grep film

lsof akan mencantumkan file terbuka Anda, menyalurkan output ke grep untuk menemukan apa pun yang dibuka oleh rsync, pipa yang output ke grep untuk menemukan direktori / file yang terbuka.

Bill Rookard
sumber
0

Seperti yang disarankan Kirly István , saya berlari

rsync -ravz /Users/jkirby/Music/iTunes/* .

yang memberikan output seperti

Jeffs-MBP-2:2016-08-15 jkirby$ rsync -ravz /Users/jkirby/Music/iTunes/* .
building file list ... done
Temp File 1.tmp
Temp File.tmp

Dari hasil itu saya bisa melihat direktori apa yang sedang disalin.

Dalam kasus di mana rsyncmenyalin banyak file besar secara perlahan, saya memonitor direktori itu menggunakan watchseperti itu. Dengan cara ini saya bisa melihat file temp yang rsyncmembuat dan saya bisa melihat ukuran yang tumbuh pada file yang sedang disalin.

watch -n1 "~/Music/iTunes"

Kirby
sumber