PageRenderTime 27ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/silverlining/mgr-scripts/backup-services.py

https://bitbucket.org/ianb/silverlining/
Python | 32 lines | 27 code | 4 blank | 1 comment | 3 complexity | fb5e3b4818518c266fc68ac188d080e5 MD5 | raw file
Possible License(s): GPL-2.0
  1. #!/usr/bin/env python
  2. import sys
  3. sys.path.insert(0, '/usr/local/share/silverlining/lib')
  4. import os
  5. import optparse
  6. import time
  7. from silversupport import appdata
  8. from silversupport.appconfig import AppConfig
  9. from silversupport.util import unique_name
  10. parser = optparse.OptionParser(
  11. usage='%prog LOCATION')
  12. def main():
  13. options, args = parser.parse_args()
  14. location = args[0]
  15. instance_name = appdata.instance_for_location(*appdata.normalize_location(location))
  16. if not instance_name:
  17. print 'Could not match against location: %s' % location
  18. sys.exit(1)
  19. app_config = AppConfig.from_instance_name(instance_name)
  20. dest_dir = os.path.join('/var/lib/silverlining/backups', app_config.app_name)
  21. if not os.path.exists(dest_dir):
  22. os.makedirs(dest_dir)
  23. dirname = 'backup-%s-%s' % (app_config.app_name, time.strftime('%Y-%m-%d'))
  24. dirname = unique_name(dest_dir, dirname)
  25. app_config.backup_services(dirname)
  26. print 'backup="%s"' % dirname
  27. if __name__ == '__main__':
  28. main()