PHP垃圾收集器cronjob每3小时运行一次


PHP garbage collector cronjob to run every 3 hours

PHP会话存储在文件中。php.ini被配置为将过去3小时内"较旧"(尚未修改)的所有会话视为垃圾。/etc/cron.d/php5中有一个删除会话的cronjob。它被配置为每30分钟运行一次,我想把它改为每小时运行一次。如何修改?crontab-l命令没有列出该cronjob。为什么?感谢

好吧,它不在crontab中,它在/etc/cron.d/php5文件中。看看那里。我猜我的系统会是这样的:

09,39 *     * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null '; -delete

只需将时间修改为每小时运行一次即可:

9 * * * * <<the rest here>>

如果您有一个已经在运行的cron作业,您可以使用以下命令获取正在运行该作业的用户(需要root)。

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

一旦你得到了正在运行作业的用户,你就可以将su发送给该用户,并使用crontab -e编辑作业。

如果您还没有任何cron作业设置,您可以按如下方式创建一个新的cron作业。

  • 登录到需要运行脚本的用户
  • 运行crontab -e(这将打开编辑器)
  • 在那里添加你的工作

您可以在编辑器中添加以下任意命令来设置每小时一次的cron作业。

0 * * * * /path/to/your/script/to/execute

@hourly /path/to/your/script/to/execute

关于cron的其他信息可以在这里找到https://en.wikipedia.org/wiki/Cron