码迷,mamicode.com
首页 > 系统相关 > 详细

【shell脚本】定时备份日志===logBackup.sh

时间:2019-10-08 18:51:42      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:定时备份   tar   输出   判断   tom   nta   shell脚本   sof   apach   

定时备份日志

设置执行权限

[root@VM_0_10_centos shellScript]# chmod a+x logBackup,sh

脚本内容

[root@VM_0_10_centos shellScript]# cat logBackup,sh
#!/bin/bash
#===========================================
# BACKUP LOGS
#===========================================
# 设置显示的日期格式:年-月-日
time=`date +%Y-%m-%d`

# 备份路径
path=/usr/local/apache-tomcat-8.5.45/logs
cd $path

# 备份日志,格式为catalina.2019-10-08.log
cat catalina.out > $path/catalina.$time.log

# 清空已备份好的日志
cat /dev/null > $path/catalina.out

# 将25天之前的日志打包好,然后删除
total=`find $path -name "*.log" -mtime +25 | wc -l`
if [ $total -eq 0 ];then
  echo "[info] 没有25天之前的日志";
else
  find $path -name "*.log" -mtime +25 | xargs tar -zcf /tmp/log_$time.tar.gz;
  find $path -name "*.log" -mtime +25 | xargs rm -rf {} \;
fi

# 最后设置好定时任务即可,每天凌晨定时执行
# 0 0 * * * /usr/local/shellScript/logBackup.sh

分析

1)先定义备份格式,和备份路径,切换到备份路径下进行备份操作

2)备份日志格式为catalina.2019-10-08.log,并清空备份好的日志

3)统计查询25天之前的日志总数

4)判断是否有25天之前的日志,如果有则将25天之前的日志打包备份到/tmp目录下;如果没有则统计的总数等于0,不进行备份操作,并输出提示信息

5)设置定时任务

设置定时任务

[root@VM_0_10_centos shellScript]# crontab -e
0 0 * * * /usr/local/shellScript/logBackup.sh

 

【shell脚本】定时备份日志===logBackup.sh

标签:定时备份   tar   输出   判断   tom   nta   shell脚本   sof   apach   

原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/11636814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!