mikes-backup-rotator/main.py

77 lines
1.4 KiB
Python
Raw Normal View History

2019-11-19 04:43:23 -08:00
#!/usr/bin/env python3
2019-11-19 04:41:38 -08:00
2023-03-27 18:50:11 -07:00
from domain.BackupRotator import BackupRotator
2019-11-19 04:41:38 -08:00
import argparse
2019-11-19 04:41:38 -08:00
def main():
parser = argparse.ArgumentParser(
description="Mike's Backup Rotator. Helps automatically remove old backup files or folders."
)
2023-03-27 19:59:45 -07:00
parser.add_argument(
"--debug", "--verbose",
dest="debug",
default=False,
action="store_true",
help="Verbose/Debug logging mode"
)
2024-06-09 06:51:51 -07:00
parser.add_argument(
"--systemd",
default=False,
dest="systemd",
action="store_true",
help=(
"Pass if this program will be spawned inside systemd"
" or another system that already adds timestamps to log messages."
)
)
parser.add_argument(
"--syslog", "--write-to-syslog",
default=False,
dest="write_to_syslog",
action="store_true",
help=(
"Pass if you'd like this program to write to syslog."
)
)
parser.add_argument(
"--config", "-c",
dest="config_files",
default=[],
action="append",
type=str,
help="Specify a configuration file. Can be called multiple times."
)
parser.add_argument(
"--dry-run", "-d",
dest="dry_run",
default=False,
action="store_true",
help="Only perform an analysis; Don't delete anything."
)
args = parser.parse_args()
2023-03-27 19:59:45 -07:00
rotator = BackupRotator(
2024-06-09 06:51:51 -07:00
debug=args.debug,
systemd=args.systemd,
write_to_syslog=args.write_to_syslog,
2023-03-27 19:59:45 -07:00
)
rotator.run(
configs=args.config_files,
dry_run=args.dry_run
)
2019-11-19 04:41:38 -08:00
if __name__ == "__main__":
main()