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

lun*_*nar 11 cron log

这是什么意思?

(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)
Run Code Online (Sandbox Code Playgroud)

在 system.log 中找到它。

roa*_*dmr 13

您切碎了日志行的一部分,这将提供有关这意味着什么的更多上下文。

它会是这样的:

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)
Run Code Online (Sandbox Code Playgroud)

它说 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
Run Code Online (Sandbox Code Playgroud)

如果你想更好地理解它,我建议在开始时阅读这个条件:

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

那么这个关于find基础的答案:

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

如果您的问题是关于此命令是否安全,那么是的,这不是任何类型的安全风险,并且定期查看此命令是完全安全的。