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?

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.


3

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

rsync -avz /something /somwhere >> ~/rsynclog

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

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.


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"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.