clamscan 和 cpulimit 一起在 ubuntu 18 和 20 中运行多个 clamscan 进程

clamscan 和 cpulimit 一起在 ubuntu 18 和 20 中运行多个 clamscan 进程

我已经安装了 clamav 和 cpulimit。我想以 70% 的 cpu 限制 1 by 1 扫描 /home 中不属于 root 的所有目录。

我使用以下命令在 centos 和 almalinux 中执行此操作:

找到/home/-min深度1-max深度1-类型d! -user root -exec cpulimit -l 70 -- /usr/bin/clamscan -i -r {} ; > /root/scan_results.txt

上面的命令在centos中运行良好。但在 ubuntu 18 和 20 中,它为 /home 中的每个目录创建多个 clamscan 进程,并且所有进程消耗 70% 的 cpu 使用率,从而使我的服务器超载。我使用“top”命令检查了这一点。 'ps 辅助| grep clamscan' 命令还显示多个同时运行的 clamscan 进程。

找到/home/ -min深度 1 -max深度 1 -type d ! -user root -exec /usr/bin/clamscan -i -r {} ; > /root/scan_results.txt

当我从如上所示的命令中删除 cpulimit 时,它会 1 按 1 扫描,但 clamscan 进程消耗 100% 的 cpu 使用率,这是我不想要的。

我尝试了一些其他命令,但效果不佳:

  1. 找到/home/-min深度1-max深度1-类型d! -用户根| xargs -I {} cpulimit -l 70 -- /usr/bin/clamscan -i -r {} > /root/scan_results.txt
  2. 找到/home/ -min深度 1 -max深度 1 -type d ! -用户root | xargs -P 1 -I {} cpulimit -l 70 -- /usr/bin/clamscan -i -r {} > /root/scan_results.txt

我想要一个命令,它可以一次扫描所有不属于 root 的 /home 目录,并且 cpulimit 为 50%,并且不同时扫描。

答案1

它在两个系统上的工作方式应该相同。在centos系统上,你能检查/home中有多少个目录是root拥有的吗?只有一个或少量可以快速扫描的小目录是我能想到的解释它的唯一方法。

相关内容