看来 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
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.
(我不知道在哪里可以找到这些短语)。
我尝试了命令:
sudo service cron reload
PHP 会话文件仍然被清理。
我可以将 php crontab 文件移出cron.d
.考虑到上述情况,这是否可行?
注:我正在交叉发布这个问题来自 LinuxMint 论坛:
注意:这个问题是从 Ask Ubuntu 复制过来的,因为他们认为它并不真正适用于 Ubuntu。
答案1
上游 Debian 提供的脚本phpsessionclean
要么在不存在的情况下使用 cron ,要么在可用的情况下systemd
用于调度。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