예제 #1
0
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)
예제 #2
0
       ['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')