![PHPセッションを削除するcronタスクを削除する方法](https://rvso.com/image/168799/PHP%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8Bcron%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
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フォーラムより:
注: この質問は Ask Ubuntu からコピーされたものです。これは、Ubuntu にはあまり当てはまらないと判断されたためです。
答え1
phpsessionclean
アップストリーム Debian によって配信されるスクリプトは、cron が存在しない場合は cron を使用し、cron が利用可能な場合はスケジュール設定に cronsystemd
を使用します。systemd
これは、このシステムで初期化されているif [ ! -d /run/systemd/system ]
かどうかを確認するcronjob テストで明らかになります。systemd
が利用可能な場合systemd
、 にはタイマー ユニット ( ) に加えてphpsessionclean
サービス ユニット ( ) があります。これら両方を停止して無効にすると、 内でスケジュールされたタスクの実行が停止します。phpsessionclean.service
phpsessionclean.timer
systemd
systemctl stop phpsessionclean.service
systemctl disable phpsessionclean.service
systemctl stop phpsessionclean.timer
systemctl disable phpsessionclean.timer