Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import argparse
- import os
- import sys
- import commands
- from datetime import datetime
- import time
- start_time = time.time()
- local_db_name='vistaalegre.v80.mylocal.com'
- local_db_host='localhost'
- local_db_user='odoo80'
- print ("Getting Dump...")
- dump_db="pg_dump -h localhost -U odoo80 vistaalegre -O > ~/sql_backups/vistaalegre.sql"
- os.system(""" ssh worker4 '%s' """ %dump_db)
- print ("BACKUP Done!!!")
- os.system("mkdir -p ~/sql_backups/")
- print ("Copying dump to localhost")
- os.system("rsync -a worker4:~/sql_backups/vistaalegre.sql ~/sql_backups/ --progress")
- os.system("ssh worker4 'rm -rf ~/sql_backups/vistaalegre.sql'")
- ##Drop Dtabase if exists
- print ("Dropping Database : %s " %local_db_name)
- os.system(""" psql %s -h %s -U %s -c 'REVOKE CONNECT ON DATABASE "%s" FROM public'; """%(local_db_name, local_db_host, local_db_user, local_db_name))
- os.system(""" psql %s -h %s -U %s -c 'SELECT pid, pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = current_database() AND pid <> pg_backend_pid()'; """%(local_db_name, local_db_host, local_db_user))
- os.system("dropdb %s -h %s -U %s" %(local_db_name, local_db_host, local_db_user))
- print ("Database Dropped : %s " %local_db_name)
- print ("Creating Database : %s " %local_db_name)
- os.system("createdb %s -h %s -U %s" %(local_db_name, local_db_host, local_db_user))
- os.system("psql vistaalegre.v80.mylocal.com -U odoo80 -h localhost -f ~/sql_backups/vistaalegre.sql")
- ## commands to exeute after dump delete mail servers and reset user's password
- commands = [
- "update res_users set password='a';",
- " delete from fetchmail_server ;",
- " delete from ir_mail_server ;",
- ]
- for command in commands:
- os.system('psql %s -h %s -U %s -c "%s" ' %(local_db_name, local_db_host, local_db_user, command))
- print ("Restore complete ===> %s" %( local_db_name))
- end_time = time.time()
- print ("BACKUP Started At %s"%datetime.fromtimestamp(start_time).strftime('%Y-%m-%d %H:%M:%S'))
- print ("BACKUP Finished At %s"%datetime.fromtimestamp(end_time).strftime('%Y-%m-%d %H:%M:%S'))
- print ("Total time in exeution %s Minutes." %((end_time -start_time)/60.0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement