![如何刪除刪除 PHP 會話的 cron 任務](https://rvso.com/image/168799/%E5%A6%82%E4%BD%95%E5%88%AA%E9%99%A4%E5%88%AA%E9%99%A4%20PHP%20%E6%9C%83%E8%A9%B1%E7%9A%84%20cron%20%E4%BB%BB%E5%8B%99.png)
看來 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