如果一台WEB服务器跑了很久,那么它的日志文件也会越来越大,这时候我们就需要做日志切割,防止日志文件占用过多的服务器硬盘空间
?
思路:用date命令打印当前系统时间,在每天凌晨00:00时间进行切割并压缩打包
?
1:编写切割日志的脚本
[root@ghs ~]# vim /usr/local/sbin/nginx_logrotate.sh
#!/bin/bash
d=`date -d "-1 day" +%F`
[-d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/nginx_log/$d.log
/etc/init.d/nginx reload > /dev/null
cd /tmp/nginx_log
gzip -f $d.log
?
?
?
2:执行脚本,加-x输出显示
[root@ghs ~]# sh -x /usr/local/sbin/nginx_logrotate.sh
++ date -d '-1 day' +%F
+ d=2017-06-20
+ '[-d' /tmp/nginx_log ']'
/usr/local/sbin/nginx_log.sh: line 3: [-d: command not found
+ mkdir /tmp/nginx_log
+ mv /tmp/access.log /tmp/nginx_log/2017-06-20.log
+ /etc/init.d/nginx reload
+ cd /tmp/nginx_log
+ gzip -f 2017-06-20.log
?
3:将脚本加入,计划任务列表
[root@ghs ~]# crontab -e
?
00 00 * * 1-7 /usr/local/sbin/nginx_logrotate.sh
让它每天凌晨0点0分执行脚本
?
?4:查询计划任务
[root@ghs ~]# crontab -l
00 00 * * 1-7 /usr/local/sbin/nginx_logrotate.sh
【说明】:
本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!