Shell怎么实现自动化压缩处理日志文件
这篇文章主要讲解了“Shell怎么实现自动化压缩处理日志文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell怎么实现自动化压缩处理日志文件”吧!
Shell处理日志,自动保留30天的日志,如果超过14天的日志就自动压缩为gz格式存储下来,这样可以节省磁盘空间,也是定时备份日志,我这里是以日志文件举例的,其它的需求也可以自己根据脚本内容做调整。
#!/bin/sh#################################################################(c)Copyright2012Eric.Allrightsreserved.##Logsexpired30days.##*cron#16***/bin/sh/var/app/shell/logs_arrange.sh>/var/app/shell/cron_logs_arrange.log###################################################################TODAY=`date+%s`#howmanydaysagowillthelogstobezipPK_DAYS_AGO=14PK_DATEDIFF=`expr${PK_DAYS_AGO}\*86400`PK_EXT=gz#howmanydaysagowillthelogstoberemovedDAYS_AGO=30DATEDIFF=`expr${DAYS_AGO}\*86400`cleanDir(){directory=$1if[[-d${directory}]];thenforfilein`ls-1${directory}|grep-v'.log$'`;doctime=`stat-c%Y${directory}/${file}`timediff=`expr${TODAY}-${ctime}`extname=`ls${directory}/${file}|awk-F'.''{printf$NF}'`if[[${extname}!=${PK_EXT}]];thenif[[-f${directory}/${file}]];thenzipta=`expr${timediff}-${PK_DATEDIFF}`if[[${zipta}-gt0]];thenecho"Package${directory}/${file}"gzip-f${directory}/${file}>${directory}/${file}.${PK_EXT}fififiif[[-f${directory}/${file}]];thendelta=`expr${timediff}-${DATEDIFF}`if[[${delta}-gt0]];thenecho"Removing${directory}/${file}"rm-rf${directory}/${file}fifidonefi}cleanDir"/var/app/logs/webapps/admin"cleanDir"/var/app/logs/webapps/api"cleanDir"/var/app/logs/webapps/pos"
感谢各位的阅读,以上就是“Shell怎么实现自动化压缩处理日志文件”的内容了,经过本文的学习后,相信大家对Shell怎么实现自动化压缩处理日志文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。