tomcat应用文件备份脚本及日志备份脚本的示例代码

下面先给大家介绍tomcat应用文件备份脚本

#!/bin/bash
#Back up the entire tomcat8080-dist to the /backup directory
backuppath=/mnt/tomcat8080-dist/webapps/
backpath=/backup/backup-tomcat8080-dist/
action=/backup/backup-tomcat8080-dist/
APPNAME=dist
BACKUPNAME1=dist
BACKUPNAME2=spongod-module-admin
BACKUPNAME3=spongod-module-interface
for i in 1,2,3
do
    echo "" >>/backup/log/backup.log
done
echo "this backup start!" >>/backup/log/backup.log
#echo "----STRAT BACKUP TIME:`date '+%Y%m%d-%H%M'`" >>/backup/log//backup.log
if [[ -n $backpath ]] && [[ -n $backuppath ]];then
    echo "--------STARTUP BACKUP TIME:`date '+%Y-%m-%d-%H-%M'`-------" >>/backup/log/backup.log
    cd /mnt/tomcat8080-dist/ 2>> /backup/log/backup.log
    time=`date '+%Y-%m-%d-%H-%M'`
    tar czf /backup/backup-tomcat8080-dist/$APPNAME-$time\.tar.gz webapps/$BACKUPNAME1/ webapps/$BACKUPNAME2/ webapps/$BACKUPNAME3/ 2>>/backup/log/BackupFailed.log
    if [ $? -eq 0 ];then
        echo -e "----\033[32m BACKUP SUCCESSFUL\033[0m-----------------------" >>/backup/log/backup.log
        echo "--------BACKUP END TIME is:`date '+%Y-%m-%d-%H-%M'`--------" >>/backup/log/backup.log
        echo "This backup ends" >>/backup/log/backup.log
        for i in 1,2,3
        do
            echo "" >>/backup/log/backup.log
        done
    else
        echo -e "----\033[31m Backup failed, please try again \033[0m -------------" >>/backup/log/BackupFailed.log
        echo "--------Failed Time:`date '+%Y-%m-%d-%H-%M'`-----------" >>/backup/log/BackupFailed.log
    fi
fi
#Delete files from three days away
echo "" >>/backup/log/delete-backup.log
echo "start deleted file" >>/backup/log/delete-backup.log
find $action -mtime +3 -type f |xargs rm -f
if [ $? -eq 0 ];then
    echo "----------File deleted successfully--------------" >>/backup/log/delete-backup.log
else
    echo "----------File deletion failed-------------------" >>/backup/log/delete-backup.log
    echo "" >>/backup/log/delete-backup.log
fi

下面给大家介绍tomcat的日志备份脚本

这个是python脚本,默认对tomcat日志保存15天,我们自己可以手动修改的

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import os,datetime,shutil,time
logRootPath = "/data/webservers"
backupRootPath = "/data/logs/backup/tomcat"
delNDayBefore = 15
def getYestoday():
  now = datetime.datetime.now()
  delta = datetime.timedelta(days=-1)
  yestoday = now + delta
  yestodayStr = yestoday.strftime('%Y%m%d')
  return yestodayStr
def createDir(path):
  if not os.path.exists(path):
    os.makedirs(path)
def backupLog():
  for path in os.listdir(logRootPath):
    logPath = os.path.join(os.path.join(logRootPath, path), "logs")
    backupPath = os.path.join(backupRootPath, path)
    logFilePath = os.path.join(logPath, "catalina.out")
    targetFileName = "catalina.out." + getYestoday()
    targetFilePath = os.path.join(backupPath, targetFileName)
    createDir(backupPath)
    shutil.copy(logFilePath,targetFilePath)
    os.system("echo '' > %s" % (logFilePath))
def getNDayTime(n):
  currTime = time.time()
  deltTime = 3600*24*n # n天前
  return currTime - deltTime
def delLog():
  fileInfos = os.walk(backupRootPath)
  beforeTime = getNDayTime(delNDayBefore)
  for path,d,filelist in fileInfos:
    for filename in filelist:
      filePath = os.path.join(path, filename)
      modifyTime = os.stat(filePath).st_mtime
      print(filePath,":",modifyTime,"-",beforeTime,"-",modifyTime < beforeTime)
      if modifyTime < beforeTime:
        print("remove file %s" % (filePath))
        os.remove(filePath)
def do():
  backupLog()
  delLog()
if __name__ == "__main__":
  do()

总结

以上所述是小编给大家介绍的tomcat应用文件备份脚本及日志备份脚本的示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2018-08-26

Tomcat日志文件定时清理备份的脚本

以下脚本主要备份的日志文件为tomcat的catalina.out.localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为"projectname-yyyy-mm-dd.log",以下为备份脚本,具体的操作都有相应的注释,供大家参考,具体情况请根据日志文件的格式和要求来使用本脚本. #!/bin/sh ###### # 日志定时运行时间为每天0点1分 # 删除20天之前的日志文件,压缩一周之前的日志文件 # 日志文件时间是根

使用cwRsync实现windows下服务器文件定时同步备份(附错误处理方法)

首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync Server (多台服务器文件同步服务端) V4.1.0 免费版 客户端:cwRsync(多服务器文件同步客户端) V4.1.0 免费版 不过我们使用的一般不是最新版本,老版本可以到s.jb51.net的服务器文件同步专区下载 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端.为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt

Linux使用定时任务每周定时清理45天以前日志

本文主要介绍的是Linux使用定时任务每周定时清理45天以前日志.服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满,因此需要定期清理日志文件.这时我们可以写一个shell脚本用来清理某个路径下45天以前的日志,然后再设置一个定时任务每周定时执行这个脚本即可. ①清理某个路径下的日志脚本delOldLogs.sh: [root@prx01 cleanlog]# vim /usr/local/cleanlog/delOldLogs.sh #!/bin/sh #删除输入路径下的修改时间在45

Shell脚本切割tomcat的日志文件

鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路径 file_size=`du $monitor_file | awk '{print $1}'` if

定时自动备份IIS的WWW日志的vbs脚本

dim IISCount,IISObject,logfiledir,fso,LogFilePeriods,inputtime,site,sites,i,j,sitename(999),WshShell 'on error resume next set WshShell = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("scripting.FileSystemObject") set II

Linux下定时切割Tomcat日志并删除指定天数前的日志记录

System.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [root@localhost conf]# pwd /usr/local/tomcat/conf [root@localhost conf]# cp logging.pr

Linux系统下nginx日志每天定时切割的脚本写法

使用Linux系统自带的命令logrotate对Nginx日志进行切割. Nginx安装目录:/usr/local/nginx/ Nginx日志目录:/usr/local/nginx/logs/./usr/local/nginx/logs/nginx_logs/ 1.添加nginx日志切割脚本 cd /etc/logrotate.d #进入目录 vi /etc/logrotate.d/nginx #编辑脚本 /usr/local/nginx/logs/*.log /usr/local/nginx

shell将脚本输出结果记录到日志文件的实现

使用tee命令: sh portal/main.sh |tee log.txt 获取脚本父类路径 cmddir="`dirname $0`" 以上这篇shell将脚本输出结果记录到日志文件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案

SQL 2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空间. 但是,无论怎么收缩(Shrink)日志文件,空间就是不能释放,总是出现错误: Cannot shrink log file 2 (CNBlogsText_log) because of minimum log space required. 之前解决过类似的问题,也写过一篇博客-SQL Server 2008事务日志清理,当时采用的最终解决方法是:

CentOS7按时间段截取指定的Tomcat日志到指定文件的方法

CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法,很多朋友对此都不是很清楚,下面由脚步之家小编给大家讲解下. 复制代码 代码如下: sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > /tmp/123/error.txt 将 catalina.out 文件的中的日志信息,按 2016-11-02 15:00 到 2016-11-02 15:05 时间段截取,然后放到 /tmp/123/ 目录下的 er