有哪些方法可以防止用户 cron 作业破坏服务器?

Wya*_*att 7 linux cron shared-hosting

共享服务器上的用户 cron 作业同时运行并陷入争用中的情况相当频繁(正如我所知)。所以负载爆炸,Nagios 生气,Apache 停止响应,由于超时而无法通过 SSH 登录,等等。我不能单方面决定用户不能运行 crons,但我想解决这个问题,其中 pgrep crond|wc -l 返回 >50。

似乎应该可以通过限制在任何给定时间或类似时间运行的 crond 进程的数量来错开它们(例如发送 SIGSTOP 直到它们中的一些只清除较少的hacky),但我还没有找到任何好的线索。

硬件:4 个 CPU 及以上,低端是 Dell 1435s,内存约 8GB,RAID 10 WD EADS 主要是 Plesk 和 cPanel,但也有一些邪恶的 Sphera 系统。

你怎么处理这个问题,sf?

cor*_*ump 5

您可以使用cron.allowcron.deny来限制用户对 cron 的访问,或者您可以使用PAM 限制来限制 CPU 使用率、进程数等等。除此之外,解决方案是创建一些东西来监视和处理cron用户的作业,因为 cron 对运行的作业数量没有真正的限制。

我认为 CPanel 对同时运行的 cron 作业数量有所了解,但它是一个特定的工具(不确定)。