使用logrotate管理VPS日志文件
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。
我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 crontab程序来执行。
logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
logrotate 的配置文件是 /etc/logrotate.conf 主要参数如下表:
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。
我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 crontab程序来执行。
logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
logrotate 的配置文件是 /etc/logrotate.conf 主要参数如下表:
放到crontab里一分钟执行一次。url和cmd根据自己的改。
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
#!/usr/bin/php <!--$url = 'http://www.deepvps.com'; $cmd = '/usr/local/php/sbin/php-fpm restart'; for($i = 0; $i < 5; $i ++){ $exec = "curl connect-timeout 3 -I $url 2>/dev/null"; $res = shell_exec($exec); if(stripos($res, '502 Bad Gateway') !== false){ shell_exec($cmd); exit(); } } -->
crontab是linux vps下面常见的定时工具。它可以隔一段时间就进行一次你预期定好的命令。
可以把你需要处理的命令写成脚本,放在bats.sh里面。
使用crontab -e 进行编辑调用定时执行。
# [分钟] [小时] [一个月中的某一天] [月份] [一周中的某一天] [命令]
30 * * * * /home/netroby/backup/autobak.sh
# */30表示每 30分钟, 如果这里写的是30,那么就是每小时的30分的时候