看来 Linux Mint 19.3 Tricia Cinnamon 想要每半小时清除一次 PHP 会话文件。
我如何能:
我在 找到了 crontab 文件/etc/cron.d/php
。
我通过对相关行进行注释来编辑该文件。我预计现在这个 crontab 文件中没有任何信息可以确定何时触发任务,甚至调度程序(?)也不会意识到这一点。
# 09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi
Run Code Online (Sandbox Code Playgroud)
cron 进程(?)注意到新的文件时间戳并重新加载文件(如系统日志中所示)。
但调度程序仍在记录系统日志。
Mar 6 01:09:07 BrownBunny systemd[1]: Starting Clean php session files...
Mar 6 01:09:08 BrownBunny systemd[1]: Started Clean php session files.
Run Code Online (Sandbox Code Playgroud)
(我不知道在哪里可以找到这些短语)。
我尝试了命令:
sudo service cron reload
Run Code Online (Sandbox Code Playgroud)
PHP 会话文件仍然被清理。
我可以将 php crontab 文件移出cron.d
. 考虑到上述情况,这是否可行?
注意:我从 LinuxMint 论坛交叉发布这个问题:
注意:这个问题是从 Ask Ubuntu 复制过来的,因为他们认为它并不真正适用于 Ubuntu。
上游 Debian 提供的脚本phpsessionclean
要么在不存在的systemd
情况下使用 cron,要么systemd
在可用的情况下用于调度。
这在 cronjob 测试中很明显,if [ ! -d /run/systemd/system ]
该测试检查是否systemd
已在此系统上初始化。
当systemd
可用时,除了计时器单元 ( ) 之外,phpsessionclean
还有服务单元( )。停止并禁用这两者,应该会阻止计划任务在以下时间内运行:phpsessionclean.service
phpsessionclean.timer
systemd
systemctl stop phpsessionclean.service
systemctl disable phpsessionclean.service
systemctl stop phpsessionclean.timer
systemctl disable phpsessionclean.timer
Run Code Online (Sandbox Code Playgroud)