推荐一款日志切割神器,很好很强大( 五 )
/usr/bin/logger -f logrotate "ALERT exited abnormally with [$EXITVALUE]"fiexit 最后最后重启下cron服务:
[root@huanqiu_test ~]# /etc/init.d/crond restartStopping crond: [ OK ]Starting crond: [ OK ]logrotate默认自动切割生效时间
Logrotate是基于CRON来运行的 , 其脚本是/etc/cron.daily/logrotate , 实际运行时 , Logrotate会调用配置文件/etc/logrotate.conf 。 [root@test ~]# cat /etc/cron.daily/logrotate#!/bin/sh/usr/sbin/logrotate /etc/logrotate.confEXITVALUE=http://kandian.youth.cn/index/$?if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"fiexit 0Logrotate是基于CRON运行的 , 所以这个时间是由CRON控制的 , 具体可以查询CRON的配置文件/etc/anacrontab(老版本的文件是/etc/crontab)[root@test ~]# cat /etc/anacrontab# /etc/anacrontab: configuration file for anacron# See anacron(8) and anacrontab(5) for details.SHELL=/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# the maximal random delay added to the base delay of the jobsRANDOM_DELAY=45 //这个是随机的延迟时间 , 表示最大45分钟# the jobs will be started during the following hours onlySTART_HOURS_RANGE=3-22 //这个是开始时间#period in days delay in minutes job-identifier command1 5 cron.daily nice run-parts /etc/cron.daily7 25 cron.weekly nice run-parts /etc/cron.weekly@monthly 45 cron.monthly nice run-parts /etc/cron.monthly第一个是Recurrence period第二个是延迟时间所以cron.daily会在3:22+(5,45)这个时间段执行 , /etc/cron.daily是个文件夹通过默认/etc/anacrontab文件配置 , 会发现logrotate自动切割日志文件的默认时间是凌晨3点多 。 ==================================================================================================现在需要将切割时间调整到每天的晚上12点 , 即每天切割的日志是前一天的0-24点之间的内容 。 操作如下:[root@kevin ~]# mv /etc/anacrontab /etc/anacrontab.bak //取消日志自动轮转的设置[root@G6-bs02 logrotate.d]# cat nstc_nohup.out/data/nstc/nohup.out {rotate 30dateextdailycopytruncatecompressnotifemptymissingok}[root@G6-bs02 logrotate.d]# cat syslog/var/log/cron/var/log/maillog/var/log/messages/var/log/secure/var/log/history{ sharedscripts compress rotate 30 daily dateext postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/` 2> /dev/ || true endscript}结合crontab进行自定义的定时轮转操作[root@kevin ~]# crontab -l#log logrotate59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/syslog >/dev/ 2>[root@localhost ~]# sh /root/log_clean.sh fss nginx 3[root@localhost ~]# ls /var/log/fss/nginx/nginx.20190506.log.gz nginx.20190507.log.gz nginx.20190508.log.gz还可以针对日志保留策略 , 调整成日志清理脚本 。 推荐用的Nginx日志轮转方法 [部署在nginx的日志目录下]
#!/bin/bashyesterday=`date -d "-1 days" +'%Y%m%d'`cd `dirname $0`basedir=`pwd`logdir="${basedir}/bak"bindir="${basedir%/*}/sbin"mkdir -p ${logdir}for log in `ls *.log 2>/dev/`do mv ${log} ${logdir}/${log}.${yesterday}.bak # gzip ${logdir}/${log}.${yesterday}done${bindir}/nginx -s reloadcd ${logdir}find . -type f -name "*.bak" -mtime +7 | xargs rm -f来源 |
文章插图
之前 , 给大家发过三份Java面试宝典 , 这次新增了一份 , 目前总共是四份面试宝典 , 相信在跳槽前一个月按照面试宝典准备准备 , 基本没大问题 。
- 《java面试宝典5.0》(初中级)
- 《350道Java面试题:整理自100+公司》(中高级)
- 《资深java面试宝典-视频版》(资深)
- 《Java[BAT]面试必备》(资深)
内容包含java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列 , 高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等 。
- 推出|三星可能会推出一款名为“Galaxy Smart Tag”的追踪器
- 短板|年底换机好推荐,真无短板机称号iQOO 5拿下了
- 机型|三星将取消Note系列旗舰身份 新机Note21仅一款机型
- 红米|红米K40Pro再确认,骁龙875+144Hz柔性直屏,又是一款香饽饽
- 最新|2020年12月最新购机推荐,这六款各有优点,实用党首选
- 持续|十一月推荐手机系列,iQOO今年多款机型热度持续
- 第一款骁龙888游戏手机:红魔6官宣
- 极客|极具黑科技含量的AI录音笔推荐:搜狗AI录音笔S1,极客最爱
- 猜到|vivo今年卖的最好的3款手机,最后一款是黑马,你猜到了吗?
- 算法|为什么长视频没有强算法推荐的产品
