#!/bin/bash

##############################################################

#***#***功能:

#***备份日志目录的N天前的日志文件成压缩文件,并移动到指定的统一备份目录

#***#***参数:

#*** $1:N天之前 ,默认:30#*** $2:要备份的日志文件查询格式,默认:*.log

#*** $3:要备份的日志所在绝对路径,默认:/var/log

#*** $4:备份文件夹名称,默认:backup-log_日期,示例:backup-log_2020-09-04-03-11-42#*** $5:压缩后的本分文件夹最终存储绝对路径,默认:/data/backup-log

#***##############################################################

#1.进入目标目录

# cd

#2.找出指定路路下的N天前的指定后缀的的所有普通文件

#find ./ -type f -mtime +30 -name "*.log"#3.需要备份的文件存在,且当前目录下不存在则创建备份文件夹

# dirName= date "+%Y-%m-%d-%H-%M-%S"#mkdirdirName

#4.移动目标文件到备份目录

#mv#5.备份成功则压缩备份目录,并删除本分目录

#

#6.移动备份压缩文件到指定的全局备份文件夹

# 帮助functionhelp(){awk '/^\#\*{3}/ { print $2 }' $0}if [[ "$1" == "-h" ]];thenhelp

exitfi######################## 可修改参数 ###########################

# 备份N天前修改的文件

nDays=$1# 指定的文件后缀

suffix=$2# 操作目标日志目录

targetLogPath=$3# 备份文件夹名称

tarTargetDirName=$4# 统一压缩日志文件备份目录

tarGzLogFilesPath=$5# 参数检测

##*************************** $1 *******************************#if [[ -z $nDays || $nDays -lt 1 ]];thennDays=30

fi

echo -e "备份N天之前的日志文件:$nDays 天之前"##*************************** $2 *******************************#if [ -z $suffix ];thensuffix="*.log"

fi

echo -e "备份的日志文件后缀为:$suffix"##*************************** $3 *******************************#if [ -z $targetLogPath ];thentargetLogPath="/var/log"

fi

echo -e "要备份的日志目录为:$targetLogPath"##*************************** $4 *******************************#if [ -z $tarTargetDirName ];thentarTargetDirName="backup-log_"

fitarTargetDirName=$tarTargetDirName`date "+%Y-%m-%d-%H-%M-%S"`echo -e "备份日志存储目录为:$tarTargetDirName"##*************************** $5 *******************************#if [ -z $tarGzLogFilesPath ];thentarGzLogFilesPath="/data/backup-log"

fi

echo -e "压缩后的备份日志存储目录为:$tarGzLogFilesPath"

echo -e "------------------------------------------------------"###############################################################

#1进入目标目录if [ ! -d $targetLogPath ];then

echo $targetLogPath"目录不存在"exitficd $targetLogPath

#2找出指定路路下的N天前的指定后缀的的所有普通文件

findTargetFiles=`find $targetLogPath -type f -mtime +$nDays -name "$suffix"`echo -e "需要备份的文件:"

echo$findTargetFiles

#3.1检测文件是否存在

len=${#findTargetFiles}if [ $len -eq 0 ];then

echo "不存在需要备份的日志文件"exitfi#3.2创建备份文件存储文件夹

# 创建备份文件夹functioncreateDirIfNotExist(){if [ ! -d $1 ];then

mkdir $1

else

echo $1"已存在"

fi}

tarTargetDirPath=$tarTargetDirName

createDirIfNotExist $tarTargetDirPath

#4移动目标文件到备份目录mv -b $findTargetFiles $tarTargetDirPathif [ $? -ne 0 ];then

echo "移动日志文件到当前备份目录失败"exitfi#5.1备份成功则压缩备份目录

backGzFile=$tarTargetDirPath".tar.gz"

tar -zcvf $backGzFile $tarTargetDirPath

#5.2压缩成功则删除当前备份目录if [ $? -ne 0 ];then

echo "备份失败"exitelse

rm -rf $tarTargetDirPathecho "备份成功"

fi#6移动备份压缩文件到指定的全局备份文件夹

createDirIfNotExist $tarGzLogFilesPathmv$backGzFile $tarGzLogFilesPathif [ $? -ne 0 ];then

echo "压缩日志文件备份失败"

else

echo "压缩日志文件备份成功"

fiexit

压缩备份日志 java_自动压缩备份日志文件到指定备份目录脚本相关推荐

  1. linux将目录打包压缩,linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?...

    linux下tar命令实用 简介 参数: -c :建立一个压缩档案的参数指令(create 的意思): -x :解开一个压缩档案的参数指令! -t :查看 tarfile 里面的档案! 特别注意,在参 ...

  2. python+selenium之自动生成excle,保存到指定的目录下

    进行之自动化测试,想把自动生成的excle保存到指定的目录下.网上百度的代码如下: 1 import xlwt 2 import time 3 time = time.strftime ('%Y%m% ...

  3. java 压缩加密_Java实现自动压缩文件并加密的方法示例

    本文实例讲述了Java实现自动压缩文件并加密的方法.分享给大家供大家参考,具体如下: 实现功能:自动压缩并加密 /** * * @Title: zipFilesAndEncrypt * @Descri ...

  4. 定时备份_如何将电脑中的文件进行定时备份?

    如果现在有一个工具可以帮助我们自主备份电脑中的文件,你会不会使用呢?如果有这样的需求小编肯定会使用的,毕竟不用自己动手操作还可以完成目标是一件很棒的事儿.本篇小编教大家如何将电脑中的文件进行定时备份, ...

  5. linux中 cp 目录不存在时,如何自动创建目录并将文件复制在新建目录下

    1:mkdir 需要进行创建不存在的目录,mkdir && cp 直接创建目录并复制文件到新建的目录下 mkdir -p ~/home/目录1 && cp test.t ...

  6. 用友文件服务器不存在,用友T6软件备份提示超时已过期,错误'53'文件不存在

    用友t6软件备份提示超时已过期,错误'53'文件不存在备份提示超时已过期,错误'53'文件不存在 备份提示超时已过期,错误'53'文件不存在 原因分析:后台表ua_log日志记录太多. 问题解答:清除 ...

  7. 本地文件夹同步/备份工具

    SyncToy 是由 微软 推出的一款免费的文件夹同步工具.虽然名字中有一个 Toy,但是大家可千万不要误以为它的功能弱爆了.实际上,我感觉这款软件还真是摆脱了微软大多数软件给人复杂和臃肿的印象,通过 ...

  8. 如何做好电脑重要文件数据的备份

    随着信息技术的飞速发展,我们在日常生活.办公和学习中都必须用到电脑. 然而随着时间的推移,越来越多的数据将存储在电脑上.电脑里面重要的数据.档案或历史纪录,不论是对企业用户还是对个人用户,都是至关重要 ...

  9. Ghost备份后找不到GHO镜像文件

    Ghost备份后找不到GHO镜像文件 用GHOST备份成功后,没有按QUIT就直接ctrl+alt+del退出GHOST,结果重启后完后却找不到GHO. 问题出现的根本原因:GHOST在NTFS存在兼 ...

最新文章

  1. intellij自动生成构造函数
  2. 计算机网络常见的无线传输有,第八讲 计算机网络基础.doc
  3. 利用bug来进行调试
  4. 大数据智能运维平台方案-2
  5. python利用PIL及openpyxl实现图片转为excel表格
  6. shopex PHP Notice,解决最新shopex乱码问题
  7. 高质量外链的十大特性
  8. Ultravnc,3步教你Ultravnc软件如何注册登录
  9. 保姆级教程:NobePay从注册到充值开卡全过程
  10. 玩转Spring Cache --- 整合进程缓存之王Caffeine Cache和Ehcache3.x【享学Spring】
  11. 运动控制器用c语言怎么编程,三菱运动控制器:Q173HCPU(N)/Q172HCPU(N)系列
  12. Alpine 安装 MySQL
  13. mysql查询昨天的日期_MySQL关于时间的一些查询,查询今天,昨天......
  14. Golang实习蓝湖二面
  15. IT忍者神龟之Microsoft Office Enterprise 2007 简体版 企业版 序列号
  16. 电子商务编程C语言考试,计算机络级计算机的络与电子商务专业《c语言程序设计》试卷.doc...
  17. C语言单链表实现栈(stack)数据结构
  18. Python 基础 2-1 列表入门
  19. 速读原著-TCP/IP(UDP首部)
  20. HttpWebRequest FileStream分块读取和写入文件WebClient

热门文章

  1. 第十届四川省大学生程序设计竞赛
  2. HDU1007 Quoit Design 分治+递归
  3. Spring集成web环境(手动实现)
  4. 第三方分享接口api
  5. Windows——在当前目录打开 PowerShell 命令窗口
  6. Baby Coins
  7. python队列在进程传递_Python 进程队列
  8. hmr webpack 不编译_webpack HMR未加载更改
  9. SpringBoot 2.x 整合Mybatis一:基础
  10. 06-Wifi通讯流程总结及源码下载地址