Shell怎么实现自动化压缩处理日志文件

发布时间:2022-02-17 15:29:31 作者:iii
来源:亿速云 阅读:163

这篇文章主要讲解了“Shell怎么实现自动化压缩处理日志文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell怎么实现自动化压缩处理日志文件”吧!

Shell处理日志,自动保留30天的日志,如果超过14天的日志就自动压缩为gz格式存储下来,这样可以节省磁盘空间,也是定时备份日志,我这里是以日志文件举例的,其它的需求也可以自己根据脚本内容做调整。

Shell怎么实现自动化压缩处理日志文件
#!/bin/sh################################################################# (c) Copyright 2012 Eric. All rights reserved.## Logs expired 30 days.## *cron# 1 6 * * * /bin/sh /var/app/shell/logs_arrange.sh > /var/app/shell/cron_logs_arrange.log###################################################################TODAY=`date +%s`# how many days ago will the logs to be zipPK_DAYS_AGO=14

PK_DATEDIFF=`expr ${PK_DAYS_AGO} \* 86400`

PK_EXT=gz# how many days ago will the logs to be removedDAYS_AGO=30

DATEDIFF=`expr ${DAYS_AGO} \* 86400`cleanDir(){

directory=$1if [[ -d ${directory} ]];thenfor file in `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} -gt 0 ]] ; thenecho "Package ${directory}/${file}"gzip -f ${directory}/${file} > ${directory}/${file}.${PK_EXT}fififiif [[ -f ${directory}/${file} ]];thendelta=`expr ${timediff} - ${DATEDIFF}`if [[ ${delta} -gt 0 ]];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怎么实现自动化压缩处理日志文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 如何处理日志文件丢失
  2. shell实现hive自动化测试

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

shell

上一篇:有哪些常用的shell脚本

下一篇:Shell怎么指定日期减去一天

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》