2012-03-25 32 views
2

我有我在继承的服务器上定期运行的神秘进程。我的第一个想法是crontab是罪魁祸首。我用从给定this question以下命令通过kyle burton不属于用户的克朗职位?

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done 

,发现大部分但不是全部。不知何故,似乎有不属于任何用户的cron进程,我无法看到这个命令。

我有两个问题:一个cron作业可以存在,而不属于任何用户(例如,如果你只是创建一个文件并调用“crontab文件”将该文件与调用该命令的用户相关联吗?而不是安装在crontab中的一个文件?),第二,如果是这样,我怎么看到每个当前安装的cron将运行的文件。谢谢。

编辑:我发现我的问题。一个非root用户的旧crontab有一些被注释掉的指令,所以我没有看它们。但是,即使当指令被注释掉了(至少在我的系统),除非在crontab已重新启动与

/etc/init.d/cron restart 

的变化将不会生效。我正在查看过时的说明,但上面的代码显示所有cron作业确实有效。对不起,我的困惑。

+1

这可能是更好的unix.stackexchange.com – 2012-03-25 19:25:18

+0

似乎什么是正确的问题类型已经随着时间的推移而改变。我正在考虑将它移到unix SE上,但是你认为应该是SO的问题类型,它不属于程序员的SE,服务器管理员SE或UNIX SE? – hackartist 2012-03-25 19:46:42

+0

在这种情况下,它不是一个问题,如果问题适用于SO或不(或可能)(http://stackoverflow.com/faq)),但在unix.se上,您有一个更专注于回答问题的人群,你很可能会得到更好的答案。 – 2012-03-25 19:59:17

回答

1

这可能是一个很大的问题,但是您的www dir中可能存在一个文件,该文件与在外部服务器上运行的cronjob匹配。

+0

我想到了这一点,并检查日志只是为了安全起见,但我也知道正在运行的代码只能在内部调用,所以我约99%确定它是在此服务器上运行的cron作业 – hackartist 2012-03-25 19:29:41

2

在Linux系统上最新版本的cron除了具有用户cron文件(包括root)之外,还有存放在/ etc/crontab中的'system'crontabs - 通常设置为运行/ etc/cron中的任何脚本。 [每小时|每天|每周|每月|每年]