首页 > 代码库 > python之tomcat自动化备份,更新
python之tomcat自动化备份,更新
由于tomcat开始集群,部署较为不变,于是写了个python自动化更新备份脚本
#!/usr/local/bin/python3 #coding:utf-8 import os, sys, subprocess, time, shutil site_file = ‘xxxxxi‘ update_file = ‘/home/sourcedir/‘ + site_file + ‘.war‘ webapps_file = ‘/var/tomcat2/webapps/‘ + site_file + ‘.war‘ webapps_dir = ‘/var/tomcat2/webapps/‘ + site_file bakwebapps_file = ‘/var/tomcat2/bakwebapps/‘ + site_file + ‘.war‘ bakwebapps_dir = ‘/var/tomcat2/bakwebapps/‘ + site_file tomcat_pid = ((subprocess.Popen("lsof -i :8081 |grep root |awk ‘{print $2}‘", shell=True, stdout=subprocess.PIPE)).stdout.read()).decode() print("Tomcat will shutdown after 6s, u can enter Ctrl + c interrupt it ! ") for i in range(3): print("." ,end = "") sys.stdout.flush() time.sleep(1) print() if len(tomcat_pid) == 0: print("> tomcat already shutdown!") else: subprocess.Popen("/usr/local/tomcat/bin/shutdown.sh > /dev/null 2>&1", shell=True, stdout=subprocess.PIPE) for i in range(3): print("." ,end = "") sys.stdout.flush() time.sleep(1) if len(tomcat_pid) == 0: pass else : subprocess.Popen("kill -9 " + tomcat_pid, shell=True, stdout=subprocess.PIPE) print("\n> Tomcat close the failure, kill the pid %s" % tomcat_pid) #备份旧站点 print("\n--------Begin to backup webapps---------\n") if os.path.exists(bakwebapps_file): shutil.rmtree(bakwebapps_dir) print("> Old bak webapps has been deleted!") os.remove(bakwebapps_file) else: pass shutil.copyfile(webapps_file, bakwebapps_file) shutil.copytree(webapps_dir, bakwebapps_dir) for i in range(3): print("." ,end = "") sys.stdout.flush() time.sleep(1) print("\n> Backup completed,Start to update the program...") shutil.copyfile(update_file, webapps_file) print("\n> Update completed,start tomcat") subprocess.Popen("/usr/local/tomcat/bin/startup.sh", shell=True, stdout=subprocess.PIPE) for i in range(3): print("." ,end = "") sys.stdout.flush() time.sleep(1) tomcat_pid2 = ((subprocess.Popen("lsof -i :8081 |grep root |awk ‘{print $2}‘", shell=True, stdout=subprocess.PIPE)).stdout.read()).decode() if len(tomcat_pid2) == 0: print("\n> Tomcat has not start, Please check u program!") else: print("\n> Tomcat have already started !")
END!
python之tomcat自动化备份,更新
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。