Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 检查rsync的CPU利用率,并在超过阈值时终止_Linux_Bash_Shell_Rsync - Fatal编程技术网

Linux 检查rsync的CPU利用率,并在超过阈值时终止

Linux 检查rsync的CPU利用率,并在超过阈值时终止,linux,bash,shell,rsync,Linux,Bash,Shell,Rsync,我有一个按顺序运行四个rsync命令的shell脚本。此脚本计划使用CRON作业每20分钟运行一次。 有时,rsync进程占用高达30%的CPU利用率,降低了服务器的速度。这造成了问题 这是我的剧本: ### rsync_script.sh #!/bin/bash rsync -avz --delete --bwlimit=5000 /path1/to/file/filename_* root@1.1.1.1:/destination/path1/ rsync -avz --delete

我有一个按顺序运行四个rsync命令的shell脚本。此脚本计划使用CRON作业每20分钟运行一次。 有时,rsync进程占用高达30%的CPU利用率,降低了服务器的速度。这造成了问题

这是我的剧本:

### rsync_script.sh

#!/bin/bash

rsync -avz --delete --bwlimit=5000 /path1/to/file/filename_* root@1.1.1.1:/destination/path1/

rsync -avz --delete --bwlimit=5000 /path2/to/file/filename_* root@1.1.1.1:/destination/path2/

rsync -avz --delete --bwlimit=5000 /path3/to/file/filename_* root@1.1.1.1:/destination/path3/

rsync -avz --delete --bwlimit=5000 /path4/to/file/filename_* root@1.1.1.1:/destination/path4/
我运行cron作业:

*/20 * * * * /bin/sh  /path/to/script/rsync_script.sh
我需要进行检查,如果rsync的CPU利用率超过5%,那么我需要停止脚本

感谢您的帮助


谢谢

如果您的问题是使用太多的CPU,那么您可以将其安排在较低的优先级,而不是终止进程

请参见
man 1 nice
,了解执行此操作的工具说明

您正在使用的
-z
选项是一个压缩选项—如果您的CPU受到限制,则可能需要调整和测试

--stats
选项可以让您了解rsync关于效率的内部统计信息,在调优时也可以查看这些信息


祝你好运-幸运的是,有些事情你可以调整。

由于数据完整性问题,不建议中途终止rsync会话。