2019-01-10 19:58:40 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
2019-01-29 08:22:08 +00:00
|
|
|
import argparse
|
2019-01-10 19:58:40 +00:00
|
|
|
import logging
|
2019-01-29 08:22:08 +00:00
|
|
|
import pathlib
|
2019-01-10 19:58:40 +00:00
|
|
|
import sys
|
|
|
|
|
|
2019-01-29 08:22:08 +00:00
|
|
|
import fs
|
2019-01-10 19:58:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
2019-01-29 08:22:08 +00:00
|
|
|
formatter = logging.Formatter("{asctime}|{levelname}|{message}", style="{")
|
|
|
|
|
console_handler = logging.StreamHandler()
|
|
|
|
|
console_handler.setFormatter(formatter)
|
|
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser(
|
|
|
|
|
prog="cura-te-ipsum",
|
|
|
|
|
description="cura-te-ipsum, my personal backup software.",
|
|
|
|
|
)
|
|
|
|
|
parser.add_argument("-V", "--version", action="version", version="%(prog)s 0.1")
|
|
|
|
|
parser.add_argument("-v", "--verbose", action="store_true", default=False,
|
|
|
|
|
help="print verbose information")
|
|
|
|
|
parser.add_argument("-b", type=pathlib.Path, dest="backup_dir",
|
|
|
|
|
metavar="BACKUP_DIR", required=True,
|
|
|
|
|
help="directory, where all backups will be stored")
|
|
|
|
|
parser.add_argument("src_dirs", nargs="+", metavar="SRC_DIR", type=pathlib.Path,
|
|
|
|
|
help="directory, which should be backed up")
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
|
|
loglevel = logging.DEBUG if args.verbose else logging.INFO
|
|
|
|
|
logging.basicConfig(level=loglevel, handlers=[console_handler])
|
|
|
|
|
|
|
|
|
|
logging.info(args.src_dirs)
|
|
|
|
|
|
|
|
|
|
# fs.hardlink_dir(sys.argv[1], sys.argv[2])
|
|
|
|
|
# fs.rsync(sys.argv[1], sys.argv[2])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2019-01-16 20:02:35 +00:00
|
|
|
sys.exit(main())
|