Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os
- import time
- import pysftp
- import sys
- import MySQLdb
- #BD Config
- DB_HOST = 'host'
- DB_USER = 'user'
- DB_PASS = 'pass'
- #SFTP Config
- sftp_host="remote_host"
- sftp_username="remote_user"
- sftp_password="pass"
- #Folder Config
- backupfolder='/var/www/backup_mysql/'
- # Making the backup folder
- date = time.strftime('%d%m%Y_%H%M%S')
- backupdir=backupfolder + date
- if not os.path.exists(backupdir):
- os.mkdir(backupdir)
- # Making Backup of all databases
- filename_system = "%s/system_%s" % (backupdir, date)
- bkp_system='mysqldump --user=%s --password=%s --all-databases > %s.sql' % (DB_USER, DB_PASS, filename_system)
- print "Haciendo Backup del Sistema Completo"
- print bkp_system
- os.popen(filename_system)
- print "Haciendo el Backup por BD"
- # Making Backup for BD
- get_db_names='for DB in `mysql -e "show databases" -u %s -p%s | grep -v Database`; do mysqldump -u %s -p%s $DB > "%s$DB.sql"; done' % (DB_USER, DB_PASS, DB_USER, DB_PASS, filename_system)
- print "Haciendo Backup por BD"
- print get_db_names
- os.system(get_db_names)
- # Compresing
- comprimir = "cd %s && tar -czvf backup_pg_%s.tar.gz *" % (backupdir, date)
- print "Comprimiendo Archivos"
- print comprimir
- os.system(comprimir)
- # Sending to SFTP Server
- remote_file = "%s/backup_mysql_%s.tar.gz" % (backupdir, date)
- srv = pysftp.Connection(host=sftp_host, username=sftp_username, password=sftp_password)
- print "Enviando al servidor: " + sftp_host
- print remote_file
- srv.put(remote_file)
- srv.close()
- print "Listo!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement