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

2019/2/25 星期一

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

备份脚本为

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

/usr/bin/rsync -az /ivargo/log/* root@ip:/ivargo/prd3/$HOSTNAME/

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

[root@xxx 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
[root@xxx 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 {} \;
例子

[root@NewCDH-0--144 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
[root@NewCDH-0--144 log]# find /ivargo/log/ -type f -name "*log*24"  -exec rm -f {} \;      
[root@NewCDH-0--144 log]# find /ivargo/log/ -type f -name "*log*24"  -exec ls -l {} \;

如何查找Linux下的大文件和大目录方法
1: 如何查找大文件?
find . -type f -size +800M -print0 | xargs -0 ls -l
find . -type f -size +800M -print0 | xargs -0 du -h
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
find / -type f -size +100M -print0 |xargs -0 du -h |grep -v "dfs"
//grep -v 你不想要什么(排除的内容)
2: 如何查找Linux下的大目录
du -h --max-depth=1
du -h --max-depth=2 | sort -n

for循环,生产记录:
情况某个目录下指定的文件

for n in `ls cloudera-scm-server.log*`;do echo "" > $n;done

转载于:https://blog.51cto.com/12445535/2356335

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值