2016-04-22 95 views
2

我有多个需要运行sessionclean cronjob的PHP-FPM chroot站点。我发现这个要点在这里:设置php sessionclean cron作业在chroot环境中运行

https://gist.github.com/zerthimon/4e15f4d04c888dee0410

它具有/etc/cron.d/php文件

​​3210

首先要说明的这个编辑是,我正在PHP7,所以成为PHP5 PHP。第二个注意事项是,我在/ usr/lib/php中没有maxlifetime,所以我试图在没有的情况下运行它。这是我的修正,它是不工作:

[ -x /usr/lib/php/sessionclean ] && [ -d /var/www/html ] && find /var/www/html -path "*/var/lib/php" -exec /usr/lib/php/sessionclean {} \; 

有人能告诉我如何修改上述通过每个在/ var/www/html等/ [的chroot]在/ var/lib中/ PHP /会话目录解析删除当前未被使用的会话文件?

谢谢。

回答

0

我想出了一个解决方法。这并不直接修改/etc/cron.d/php文件,但为希望清除chrooted php-fpm环境中不再使用会话文件的用户提供了一个解决方案。

一个小脚本在crontab中每4小时运行一次。

#!/bin/bash 

cd /var/www/html 
for D in *; do 
find /var/www/html/"$D"/var/lib/php/sessions/sess_* -mmin +240 -delete; 
done 

这将删除最后4小时被存储在每个chroot环境内内没有修改过的所有会话文件。