Professional Documents
Culture Documents
Backup
Backup
/usr/bin/env python3
import datetime
import os
import re
import sys
import time
import subprocess as sp
ZK_CONF = os.path.expanduser("~/zookeeper/conf/zoo.cfg")
MAX_BACKUPS = 5
if mandatory:
raise RuntimeError("Property '{}' not found in config {}\n".format(prop,
cfg))
if num_to_delete > 0:
backups.sort(key=lambda x: os.path.getmtime(backup_dir + x))
oldest = backups[0:num_to_delete]
print("Number of '{}' backups ({}) exceeds max backups ({}). Deleting
oldest #{} file(s).".format(prefix, num_backups, MAX_BACKUPS, num_to_delete))
def backup():
start = time.time()
print(datetime.datetime.now())
timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
os.makedirs(backup_dir, exist_ok=True)
sp.call(["tar", "cjf", backup_tar, "-C", data_dir, ".", "--
exclude=lost+found"])
cleanup_existing_backups("zookeeper-data-", backup_dir)
if __name__ == "__main__":
try:
backup()
except Exception as e:
sys.stderr.write("ERROR: unable to backup: {}".format(e))
sys.exit(1)