下面先给大家介绍tomcat应用文件备份脚本
#!/bin/bash#Back up the entire tomcat8080-dist to the /backup directorybackuppath=/mnt/tomcat8080-dist/webapps/backpath=/backup/backup-tomcat8080-dist/action=/backup/backup-tomcat8080-dist/APPNAME=distBACKUPNAME1=distBACKUPNAME2=spongod-module-adminBACKUPNAME3=spongod-module-interfacefor i in 1,2,3do echo "" >>/backup/log/backup.logdoneecho "this backup start!" >>/backup/log/backup.log#echo "----STRAT BACKUP TIME:`date '+%Y%m%d-%H%M'`" >>/backup/log//backup.logif [[ -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 fifi#Delete files from three days awayecho "" >>/backup/log/delete-backup.logecho "start deleted file" >>/backup/log/delete-backup.logfind $action -mtime +3 -type f |xargs rm -fif [ $? -eq 0 ];then echo "----------File deleted successfully--------------" >>/backup/log/delete-backup.logelse echo "----------File deletion failed-------------------" >>/backup/log/delete-backup.log echo "" >>/backup/log/delete-backup.logfi
下面给大家介绍tomcat的日志备份脚本
这个是python脚本,默认对tomcat日志保存15天,我们自己可以手动修改的
#!/usr/bin/env python#-*- coding:utf-8 -*-import os,datetime,shutil,timelogRootPath = "/data/webservers"backupRootPath = "/data/logs/backup/tomcat"delNDayBefore = 15def getYestoday(): now = datetime.datetime.now() delta = datetime.timedelta(days=-1) yestoday = now + delta yestodayStr = yestoday.strftime('%Y%m%d') return yestodayStrdef 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 - deltTimedef 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()