Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. import time
  2. from fabric.api import *
  3.  
  4. env.hosts = ['example.com']
  5. env.user = 'someuser'
  6. env.password = 'somepassword'
  7.  
  8. def backup_database(app_name, db_name):
  9. db_passwords = {'somedatabasename': 'somedbpassword'}
  10. mysqldump_command = 'MYSQL_PWD=%(password)s ionice -c2 -n6 mysqldump -u' +
  11. ' %(database_name)s %(database_name)s ' +
  12. '> ./webapps/%(app_name)s/%(database_name)s.sql' % {
  13. 'password': db_passwords[db_name],
  14. 'database_name': db_name,
  15. 'app_name': app_name
  16. }
  17. run(mysqldump_command)
  18.  
  19.  
  20. def backup_site(app_name):
  21. date = time.strftime('%Y-%m-%d')
  22. zip_filename = '%(app_name)s-%(date)s.zip' % { 'date': date, 'app_name': app_name }
  23. zip_command = 'zip -r %(zip_filename)s ./webapps/%(app_name)s > /dev/null' % {
  24. 'zip_filename': zip_filename, 'app_name': app_name }
  25. run(zip_command)
  26. get(zip_filename, zip_filename)
  27. run('rm ' + zip_filename)
  28.  
  29. def backup_webapp(app_name, db_name):
  30. backup_database(app_name, db_name)
  31. backup_site(app_name)
  32. rm_command = 'rm $HOME/webapps/%(app_name)s/%(database_name)s.sql' % {
  33. 'database_name': db_name,
  34. 'app_name': app_name
  35. }
  36. run(rm_command)
  37.  
  38. def backup():
  39. backup_webapp('somewebappfoldername', 'somedatabasename')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement