我有一台运行 ubuntu 14.04 的服务器。在 /var/log/auth.log 中有某种每小时运行的自动化进程,我想知道这个进程是什么。
我已经确定没有任何用户安排的 cron 作业。我所要做的就是每小时 auth.log 中的以下示例行:
Dec 2 03:17:01 fi CRON[23537]: pam_unix(cron:session): session opened for user root by (uid=0)
Dec 2 03:17:01 fi CRON[23537]: pam_unix(cron:session): session closed for user root
Dec 2 04:17:01 fi CRON[23557]: pam_unix(cron:session): session opened for user root by (uid=0)
关于如何追踪这一点的任何想法?
您可以使用
atop
.安装后,它将开始自动记录进程及其资源使用情况并将数据写入日志文件。您可以稍等片刻以收集足够的数据,然后检查日志或解析它们。
例如,收集日志后,要检查正在运行的进程,我建议使用以下命令:
这将:
PRG
,值列以空格分隔(PID 是单独的列),PID 之后的列是括在括号中的进程名称(以 开头(
)。/etc/crontab
您可能错过了和中的系统范围的 cron 作业/etc/cron.d/*
。如果似乎没有,您可以附加
strace
到 cron 进程以查看它读取的文件或执行的命令:在旧系统中,cron 可能在没有自动重新加载支持的情况下编译,因此如果有人从 /etc/crontab 手动删除作业但没有重新加载 cron,它们将继续运行,直到有人触发重新加载。