parser.add_option('-a', '--archive', dest='pathToBackup', help="path to archive") parser.add_option('-d', '--data', dest='pathToPgData', help="path to postgres data directory", default='/var/lib/pgsql/9.4/data/') parser.add_option('-u', '--pguid', dest='pgUid', help="uid of postgres user", default='26') parser.add_option('-g', '--pggid', dest='pgGid', help="gid of postgres group", default='26') parser.add_option('-l', '--log', dest='logFile', help="path to log file", default='/var/lib/pgsql/9.4/log_auto_test') parser.add_option('-e', '--emailto', dest='emailTo', help="log will be sent to this email", default='*****@*****.**') parser.add_option('-s', '--emailserver', dest='srv', help="email server", default='192.168.40.7') (options, args) = parser.parse_args() pathToBackup=options.pathToBackup pathToPgData=options.pathToPgData pgUid=int(options.pgUid) pgGid=int(options.pgGid) logFile=options.logFile emailTo=options.emailTo srv=options.srv linux_service.service_control('postgresql-9.4', 'stop', emailTo, srv) def rmOldFiles(path): listOfFile=os.listdir(path) for i in listOfFile: try: shutil.rmtree(os.path.join(path, i)) except OSError: pass def writeToLog(output): for line in output.splitlines(): f=open(logFile, 'w+') f.write(line) f.write('\n') f.close() rmOldFiles(pathToPgData) tarFile=t.open(pathToBackup)
['url2', '43388', 'domain2', '192.168.40.134'], ['url3', '43388', 'domain2', '']] for url in all: headers = {'content-type':'application/json'} playload = {'username':'******', 'password':'******'} try: response = requests.post(url[0], data=json.dumps(playload), headers=headers, verify=False, timeout=5) except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as e: if url[0] == 'url1': shutil.copy('/etc/nginx/nginx_1.conf', '/etc/nginx/nginx.conf') elif url[0] == 'url2': shutil.copy('/etc/nginx/nginx_2.conf', '/etc/nginx/nginx.conf') elif url[0] == 'url3': shutil.copy('/etc/nginx/nginx_3.conf', '/etc/nginx/nginx.conf') service_control('nginx', 'stop', 'user', 'srv') service_control('nginx', 'start', 'user', 'srv') if url[3] == '': os.kill(FindProcessUsingPort(url[1]), signal.SIGKILL) os.popen("/opt/glassfish4/bin/asadmin start-domain %s" % url[2]) else: os.popen("ssh -p 63138 root@%s 'kill -9 %s'" % (url[3], FindProcessUsingPort(url[1], url[3]))) os.popen("ssh -p 63138 root@%s '/opt/glassfish4/bin/asadmin start-domain %s'" % (url[3], url[2])) send_mail('from', 'user', '', 'inform problem', 'srv', str(url)) time.sleep(300) try: response = requests.post(url[0], data=json.dumps(playload), headers=headers, verify=False, timeout=5) except requests.exceptions.Timeout as e: pass if re.sub("\".*", "", re.sub(".*\,\"status\"\:\"", "", response.text)) == 'ok': shutil.copy('/etc/nginx/nginx_allup.conf', '/etc/nginx/nginx.conf')