2016-06-07 20:24:35 -07:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import argparse
|
2016-06-10 13:06:38 -07:00
|
|
|
import re
|
|
|
|
|
2016-06-07 20:24:35 -07:00
|
|
|
from b2mirror import mirror
|
|
|
|
|
2016-06-10 13:06:38 -07:00
|
|
|
|
2016-06-07 20:24:35 -07:00
|
|
|
def main():
|
|
|
|
parser = argparse.ArgumentParser(description="Sync data to/from B2")
|
|
|
|
|
2016-06-10 13:06:38 -07:00
|
|
|
parser.add_argument("-w", "--workers", help="Maximum parallel uploads", type=int, default=10)
|
|
|
|
|
2016-06-07 20:24:35 -07:00
|
|
|
parser.add_argument("-s", "--source", required=True, help="Source URI")
|
|
|
|
parser.add_argument("-d", "--dest", required=True, help="Dest URI")
|
|
|
|
|
|
|
|
parser.add_argument("-a", "--account-id", required=True, help="Backblaze account ID")
|
|
|
|
parser.add_argument("-k", "--app-key", required=True, help="Backblaze application key")
|
|
|
|
|
2016-06-10 13:06:38 -07:00
|
|
|
parser.add_argument("--exclude", nargs="+", help="Regexes to exclude from transfer")
|
|
|
|
|
2016-06-07 20:24:35 -07:00
|
|
|
args = parser.parse_args()
|
|
|
|
|
2016-06-10 13:06:38 -07:00
|
|
|
ignore_res = [re.compile(i) for i in args.exclude]
|
|
|
|
|
|
|
|
mirror.sync(args.source, args.dest, args.account_id, args.app_key, workers=args.workers, exclude=ignore_res)
|
2016-06-07 20:24:35 -07:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|