日志备份和按时间删除日志脚本实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志备份和按时间删除日志脚本实现相关的知识,希望对你有一定的参考价值。

2019/2/25 星期一

需求:在生产上,要把服务器日志传到日志备份服务器上 生产服务器上只保留7天前的日志 用shell脚本实现

备份脚本为

[[email protected] scripts]# cat back_log.sh 
#!/bin/bash
#majihui
#backup prd3 block log to ip
#2019/2/25

/usr/bin/rsync -az /ivargo/log/* [email protected]:/ivargo/prd3/$HOSTNAME/

然后做定时任务,每天凌晨1点传到备份服务器上
删除日志脚本,每天晚上当时2点开始删除

[[email protected] scripts]# cat rm_7date_log.sh    
#!/bin/bash
#majihui
#backup prd3 block log to ip
#2019/2/25

find /ivargo/log/ -type f -name "*log.2*" -mtime +6 |xargs rm -f
[[email protected] scripts]# crontab -l
#backup /ivargo/log to ip:/ivargo/prd3/
0 1 * * * /bin/sh /opt/scripts/back_log.sh >/dev/null 2>&1
#rm 7date log /ivargo/log
0 2 * * * /bin/sh /opt/scripts/rm_7date_log.sh >/dev/null 2>&1

提示:需要在备份服务器上提前创建好相应的分组目录,备份日志的时候,需要与备份主机建立好免密登陆。

扩展:
上面的find命令还可以写成
find /ivargo/log/ -type f -name "log.2" -mtime +6 -exec rm -f {} ;
例子

[[email protected] log]# find /ivargo/log/ -type f -name "*log*24"  -exec ls -l {} ;                     
-rw-r--r-- 1 root root 0 Feb 25 13:05 /ivargo/log/NewCDH-0--144.log.2019-02-24
-rw-r--r-- 1 root root 0 Feb 25 13:23 /ivargo/log/vpush/NewCDH-0--144.log.vpush.2019-02-24
[[email protected] log]# find /ivargo/log/ -type f -name "*log*24"  -exec rm -f {} ;      
[[email protected] log]# find /ivargo/log/ -type f -name "*log*24"  -exec ls -l {} ;

以上是关于日志备份和按时间删除日志脚本实现的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

服务器备份删除日志脚本如何测试?@TT

常用python日期日志获取内容循环的代码片段

删除超过多少天的日志文件或者备份文件

常见的一些shell脚本书写,定时删除,压缩备份

nginx--基于crond定时服务+shell脚本实现nginx日志自动清理及备份