监视/监视运行rsync进程

我有一个已添加到crontab的rsync作业,当它正在运行时,我只能检查是否存在rsync PID并通过htop确认它占用了大量的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 

这有两种方式

使用屏幕:将屏幕会话附加到您的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 

另一种方法是,如果您知道要同步的粗略目录(例如,我们将使用目录’电影’),您可以使用lsof和grep的组合:

lsof | grep rsync | grep电影

lsof将列出您打开的文件,将输出通过管道输出到grep以查找由rsync打开的任何内容,输出到grep的管道以查找打开的目录/文件。

正如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"