配置完成php后,默认php会将session生成到/tmp目录下,导致/tmp目录文件很多,因此需要对session进行定期的清理:
修改php.ini:
0 1 2 3 4 |
[root@hz scripts]# grep "session.save_path = " /usr/local/php/lib/php.ini ; session.save_path = "N;/path" ; session.save_path = "N;MODE;/path" ;session.save_path = "/tmp" session.save_path = "2;/tmp/session" |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[root@hz ~]# cat /byrd/script/Cleartmpsen.sh #!/bin/bash # Version:1.0 # Author:Byrd # Site:note.t4x.org # Contact:root#t4x.org # This is script will clear php session before 3 hours. i="0 1 2 3 4 5 6 7 8 9 a b c d e f" for byrd in $i; do for x in $i; do mkdir -p /tmp/session/$byrd/$x; done; done chown -R bywww:bywww /tmp/session chmod -R 1777 /tmp/session find /tmp/session -amin +180 -exec rm -rf {} \; #find /tmp/session -amin +180 | xargs rm -f if [ `grep 'session.save_path =' /usr/local/php/lib/php.ini | wc -l` -eq 3 ];then sed -i 's#;session.save_path = "/tmp"#;session.save_path = "/tmp"\nsession.save_path = "2;/tmp/session"#g' /usr/local/php/lib/php.ini else exit 1 fi |
定时任务:
0 1 2 |
[root@hz scripts]# echo '#This is a config php session BY:BYRD AT:2014-03-31' >>/var/spool/cron/root [root@hz scripts]# echo '0 3 * * 0 /bin/bash /byrd/scripts/spehspsion.sh >/dev/null 2>&1' >>/var/spool/cron/root kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` |
备注:因为此配置修改了php.ini因此需要重新启动php进程。SourceByrd's Weblog-https://note.t4x.org/code/php-session-clear/ SourceByrd's Weblog-https://note.t4x.org/code/php-session-clear/
申明:除非注明Byrd's Blog内容均为原创,未经许可禁止转载!详情请阅读版权申明!