Linux Mint 19.3 Tricia Cinnamonは30分ごとに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プロセス(?)は、新しいファイルのタイムスタンプに気付き、ファイルをリロードしました(syslogに表示)。
しかし、スケジューラはまだsyslogにログインしています。
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フォーラムから :
注:この質問は、Ubuntuには実際には適用されないと考えているため、Ask 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