ตรวจสอบ / ดูกระบวนการทำงาน rsync


22

ฉันมีงาน rsync ที่ถูกเพิ่มไปยัง crontab และเมื่อมันทำงานฉันสามารถตรวจสอบได้ว่ามี rsync PID และยืนยันด้วย htop ว่ามันกินซีพียูและแรมจำนวนมาก

สิ่งที่ฉันต้องการจะทำคือการตรวจสอบว่าไฟล์ใดกำลังถูก rsync'ed แบบเรียลไทม์ ... เมื่อฉันต้องการ FYI ฉันไม่ได้ผ่านตัวเลือก verbose ใด ๆ ไปยังคำสั่งและฉันไม่ได้เพิ่มการบันทึกบางส่วน ฉันแค่ต้องการตรวจสอบสิ่งที่ rsync'ed ตามความต้องการ

ความคิดใดที่ฉันสามารถบรรลุผลนั้นได้?

คำตอบ:


38

คุณทำได้:

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

เพื่อดูว่ามันกำลังทำอะไรหรือ

lsof -ad3-999 -c rsync

เพื่อดูไฟล์ที่เปิดอยู่ในปัจจุบัน


3

ทางออกที่ง่ายที่สุดคือการเปลี่ยนเส้นทางเอาต์พุตของ rsync ไปยังล็อกไฟล์

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

1

นี่คือสองวิธี

ด้วยหน้าจอ: แนบเซสชันหน้าจอกับงาน 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

อีกวิธีหนึ่งที่คุณอาจทำได้คือถ้าคุณรู้จักไดเรกทอรีคร่าวๆที่คุณจะซิงค์ (เช่นเราจะใช้ไดเรกทอรี 'ภาพยนตร์' เป็นต้น) คุณสามารถใช้ lsof และ grep ร่วมกันได้:

lsof | grep rsync | ภาพยนตร์ grep

lsof จะแสดงรายการไฟล์ที่เปิดของคุณไพพ์เอาต์พุตไปยัง grep เพื่อค้นหาไฟล์ใด ๆ ที่เปิดโดย rsync, ไพพ์ที่เอาต์พุตไปยัง grep เพื่อค้นหาไดเร็กทอรี / ไฟล์ที่เปิดอยู่


0

ตามที่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อย่างนั้น วิธีนี้ฉันสามารถดูไฟล์ temp ที่rsyncสร้างขึ้นและฉันสามารถดูขนาดที่เพิ่มขึ้นของไฟล์ที่ถูกคัดลอกในปัจจุบัน

watch -n1 "~/Music/iTunes"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.