]> scripts.mit.edu Git - wizard.git/blob - wizard/command/backup.py
Change to production directory before running certain commands.
[wizard.git] / wizard / command / backup.py
1 import os.path
2
3 from wizard import command, deploy, shell, util
4
5 def main(argv, baton):
6     options, args = parse_args(argv, baton)
7     dir = os.path.abspath(args[0]) if args else os.getcwd()
8     shell.drop_priviledges(dir, options.log_file)
9     util.chdir(dir)
10     util.chdir_to_production()
11     d = deploy.ProductionCopy(".")
12     d.verify()
13     d.verifyConfigured()
14     print d.backup(options)
15
16 def parse_args(argv, baton):
17     usage = """usage: %prog backup [ARGS] [DIR]
18
19 Takes a configured autoinstall and performs a backup of
20 its data.  This data is stored by default in
21 .wizard/backups/x.y.z-yyyy-mm-dd"""
22     parser = command.WizardOptionParser(usage)
23     options, args = parser.parse_all(argv)
24     if len(args) > 1:
25         parser.error("too many arguments")
26     return options, args
27