如何删除删除 PHP 会话的 cron 任务

如何删除删除 PHP 会话的 cron 任务

看来 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.servicephpsessionclean.timersystemd

systemctl stop phpsessionclean.service
systemctl disable phpsessionclean.service
systemctl stop phpsessionclean.timer
systemctl disable phpsessionclean.timer

相关内容