X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Fbackupninja.git;a=blobdiff_plain;f=src%2Fbackupninja;h=1c2d71c26cdce22620c60ed7c3494cec0d14c7bc;hp=df7d3c5bd5441376399d3790313858daaa39da87;hb=5da4fb89ab2bdad92435be2b4ba38061b2834a36;hpb=ece57a3973b3afeb138ac0eaab2da742955a2bad diff --git a/src/backupninja b/src/backupninja index df7d3c5..1c2d71c 100755 --- a/src/backupninja +++ b/src/backupninja @@ -27,13 +27,43 @@ import logging import sys from backupninja.log import setup_logging +from backupninja import config +from backupninja import action log = logging.getLogger() def make_option_parser(): description = """%prog checks for scheduled actions and runs them when needed.""" parser = optparse.OptionParser(description=description) - + parser.add_option( "-c", "--confdir" + , help="Load configuration from CONFIG_DIR " + "instead of '%default'. When " + "the --conffile or --actionsdir options " + "specify relative paths, they are taken " + "relative to this directory." + , default="/etc/backupninja" + , dest="config_dir" + , metavar="CONFIG_DIR") + parser.add_option( "-f", "--conffile" + , help="Load the main configuration from FILE instead " + "of '%default'. If FILE is a relative path, it " + "is interpreted relative to CONFIG_DIR." + , default='backupninja.conf' + , dest="global_config" + , metavar="FILE") + parser.add_option( "-a", "--actionsdir" + , help="Load action configurations from ACTIONS_DIR " + "instead of '%default'. If ACTIONS_DIR is a " + "relative path, it is interpreted relative to " + "CONFIG_DIR." + , default="actions" + , dest="actions_dir" + , metavar="ACTIONS_DIR") + parser.add_option( "-d", "--debug" + , help="Run in debug mode. This only means logging is " + "more verbose." + , action="store_true" + , dest="debug") return parser def main(argv): @@ -46,8 +76,15 @@ def main(argv): setup_logging(options) # Load config file + global_conf = config.get_global_config(options) + if global_conf is None: + # Error was already logged + return 1 + # Process command - parser.print_help() + action.run_all_actions(options, global_conf) + + return 0 if __name__ == '__main__': sys.exit(main(sys.argv))