Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from fabric.api import *
- env.hosts = ['example.com']
- env.user = 'someuser'
- env.password = 'somepassword'
- def backup_database(app_name, db_name):
- db_passwords = {'somedatabasename': 'somedbpassword'}
- mysqldump_command = 'MYSQL_PWD=%(password)s ionice -c2 -n6 mysqldump -u' +
- ' %(database_name)s %(database_name)s ' +
- '> ./webapps/%(app_name)s/%(database_name)s.sql' % {
- 'password': db_passwords[db_name],
- 'database_name': db_name,
- 'app_name': app_name
- }
- run(mysqldump_command)
- def backup_site(app_name):
- date = time.strftime('%Y-%m-%d')
- zip_filename = '%(app_name)s-%(date)s.zip' % { 'date': date, 'app_name': app_name }
- zip_command = 'zip -r %(zip_filename)s ./webapps/%(app_name)s > /dev/null' % {
- 'zip_filename': zip_filename, 'app_name': app_name }
- run(zip_command)
- get(zip_filename, zip_filename)
- run('rm ' + zip_filename)
- def backup_webapp(app_name, db_name):
- backup_database(app_name, db_name)
- backup_site(app_name)
- rm_command = 'rm $HOME/webapps/%(app_name)s/%(database_name)s.sql' % {
- 'database_name': db_name,
- 'app_name': app_name
- }
- run(rm_command)
- def backup():
- backup_webapp('somewebappfoldername', 'somedatabasename')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement