system.log 中的 (root) CMD 行是什么意思?它为什么在那里?

system.log 中的 (root) CMD 行是什么意思?它为什么在那里?

这是什么意思?

(root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)

在 system.log 中找到了它。

答案1

您截断了部分日志行,这将提供更多有关其含义的背景信息。

它可能类似于:

syslog:Mar 12 10:17:01 hostname CRON[4154]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)

上面写着 CRON,表示它是由 cron 定期执行守护程序生成的。冒号后面是它以 root 用户身份执行的命令。命令就是 CMD 后面括号里的内容。

当您安装 PHP 时,它会添加一个 crontab 条目来清理陈旧的会话,该条目由 crontab 守护程序运行。除了我提到的与 cron 相关的信息之外,该命令本身会验证 /usr/lib/php5/maxlifetime 和 /var/lib/php5 是否存在,然后使用该find命令在 /var/lib/php5 下查找比 /usr/lib/php5/maxlifetime 中包含的数量更早的会话文件,然后将其删除。

这是命令本身:

[ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete

如果你想更好地理解它,我建议你先阅读一下这个以了解一开始的条件:

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

然后这是查找基础知识的答案:

如何更有效地使用 find 命令?

如果您的问题是该命令是否安全,那么是的,它不存在任何类型的安全风险,并且定期运行该命令是完全安全的。

答案2

该 cron 作业是在/etc/cron.d/php5文件中安排的。

相关内容