You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Cron限制rsync的资源占用以避免影响服务器其他应用

如何通过Cron限制rsync的资源占用以避免影响服务器其他应用

嗨,根据你的场景——Ubuntu Server上用ZFS机械盘跑rsync备份,大文件量时占资源拖慢其他应用,我有几个实用的方法帮你把这个rsync任务改成低优先级,完全适配Cron执行:

  • 用nice限制CPU优先级
    Linux里的nice命令可以调整进程的CPU调度优先级,默认值是0,数值越高(最大19)优先级越低。给rsync加上nice -n 19,就能让系统优先把CPU资源分配给其他应用,rsync只会在CPU空闲时多干活。

  • 用ionice限制IO优先级(重点!)
    你的瓶颈在文件系统,机械盘的IO本来就慢,ionice专门针对IO资源做限制,这才是解决问题的核心。推荐用idle类(-c 3),意思是只有当系统没有其他IO操作的时候,rsync才会读写磁盘,彻底避免抢占IO资源。

  • 结合两者,修改Cron里的命令
    把两个工具结合起来,直接在rsync命令前加上前缀,同时限制CPU和IO。另外注意Cron默认用sh执行,而你原来的--exclude用了大括号扩展,sh不支持,所以最好指定用Bash执行,完整的Cron任务行可以改成这样:

    0 2 * * * bash -c "nice -n 19 ionice -c 3 rsync -ahvrO --delete --exclude={'Capture','Trash','Selects','.BridgeSort','*.csv','*.txt'} /samba/A4/files/ /redpool/A4/"
    

    (这里假设你原来的Cron是每天凌晨2点执行,时间部分可以根据你的需求调整)

如果觉得idle模式太严格(比如你希望rsync即使系统有少量IO也能慢慢跑),可以换成best-effort类(-c 2)并设置最低优先级(-n 7),命令改成ionice -c 2 -n 7,不过对于备份这种低优先级任务,idle模式是最优解。

备注:内容来源于stack exchange,提问作者augustoL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:27:57