X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Fbackupninja.git;a=blobdiff_plain;f=src%2Fbackupninja;h=a77242d55a14df5b610324da43bce7dab3df59db;hp=df7d3c5bd5441376399d3790313858daaa39da87;hb=b99a9b8625f0543f2def8cd66273e3541e7d5e83;hpb=ece57a3973b3afeb138ac0eaab2da742955a2bad diff --git a/src/backupninja b/src/backupninja index df7d3c5..a77242d 100755 --- a/src/backupninja +++ b/src/backupninja @@ -27,13 +27,38 @@ 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") return parser def main(argv): @@ -46,8 +71,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))