2 # -*- mode: python; sh-basic-offset: 4; indent-tabs-mode: nil; -*-
3 # vim: set filetype=python sw=4 sts=4 expandtab autoindent:
5 # Backupninja python reimplementation, based on original backupninja program
7 # Copyright (C) 2010 Matthijs Kooijman <matthijs@stdin.nl>
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License along
20 # with this program; if not, write to the Free Software Foundation, Inc.,
21 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 """ Check for scheduled backupninja actions and run them when needed """
29 from backupninja.log import setup_logging
30 from backupninja import config
31 from backupninja import action
33 log = logging.getLogger()
35 def make_option_parser():
36 description = """%prog checks for scheduled actions and runs them when needed."""
37 parser = optparse.OptionParser(description=description)
42 # Parse options (Note that this exits in case of --help or an
43 # invalid commandline)
44 parser = make_option_parser()
45 (options, args) = parser.parse_args(argv)
48 setup_logging(options)
51 global_conf = config.get_global_config(options)
52 if global_conf is None:
53 # Error was already logged
57 action.run_all_actions(options, global_conf)
61 if __name__ == '__main__':
62 sys.exit(main(sys.argv))