Esempio n. 1
0
File: backup.py Progetto: 52nlp/brat
def _backup(min_interval=MIN_INTERVAL, backup_dir=BACKUP_DIR, data_dir=DATA_DIR):
    b_file, b_mtime = _youngest_backup(backup_dir)
    y_mtime = _datetime_mtime(DATA_DIR)
    #_, y_mtime = _youngest_file(data_dir)
    # If we have a back-up arch and no file has changed since the back-up or
    #       the delay has not expired, return
    if b_file is not None and (y_mtime <= b_mtime
            or (y_mtime - b_mtime) < min_interval):
        return

    # Here we do use UTC
    backup_filename = (_safe_dirname(data_dir) + '-'
            + datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
            + '.' + TAR_GZ_SUFFIX)
    backup_path = abspath(join_path(backup_dir, backup_filename))
    data_dir_parent = join_path(data_dir, '../')

    #TODO: Check the exit signals!
    cmd = 'tar -c -z -f %s -C %s %s' % (backup_path,
        data_dir_parent, _safe_dirname(data_dir))
    tar_p = Popen(split_shlex(cmd))
    tar_p.wait()

    checksum_base = join_path(backup_dir, CHECKSUM_FILENAME)
    with open(checksum_base + '.' + 'MD5', 'a') as md5_file:
        # *NIX could have used m5sum instead
        md5_cmd = 'md5sum %s' % (backup_filename)
        md5_p = Popen(split_shlex(md5_cmd), stdout=md5_file, cwd=backup_dir)
        md5_p.wait()

    with open(checksum_base + '.' + 'SHA256', 'a') as sha256_file:
        sha256_cmd = 'shasum -a 256 %s' % (backup_filename)
        sha256_p = Popen(split_shlex(sha256_cmd), stdout=sha256_file, cwd=backup_dir)
        sha256_p.wait()
Esempio n. 2
0
def _backup(min_interval=MIN_INTERVAL,
            backup_dir=BACKUP_DIR,
            data_dir=DATA_DIR):
    """
    Backup main internal function
    """
    b_file, b_mtime = _youngest_backup(backup_dir)
    y_mtime = _datetime_mtime(DATA_DIR)
    #_, y_mtime = _youngest_file(data_dir)
    # If we have a back-up arch and no file has changed since the back-up or
    #       the delay has not expired, return
    if b_file is not None and (y_mtime <= b_mtime or
                               (y_mtime - b_mtime) < min_interval):
        return

    # Here we do use UTC
    backup_filename = (_safe_dirname(data_dir) + '-' +
                       datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ') + '.' +
                       TAR_GZ_SUFFIX)
    backup_path = abspath(join_path(backup_dir, backup_filename))
    data_dir_parent = join_path(data_dir, '../')

    # TODO: Check the exit signals!
    # TODO: use tarfile anbd gzip modules instead
    cmd = 'tar -c -z -f %s -C %s %s' % (backup_path, data_dir_parent,
                                        _safe_dirname(data_dir))
    tar_p = Popen(split_shlex(cmd))
    tar_p.wait()

    _update_checksum(backup_dir, backup_filename)
Esempio n. 3
0
def _update_checksum(backup_dir, backup_filename):
    """
    Update md5 and SHA256 checksums
    """

    checksum_base = join_path(backup_dir, CHECKSUM_FILENAME)
    with open(checksum_base + '.' + 'MD5', 'a') as md5_file:
        # *NIX could have used m5sum instead
        md5_cmd = 'md5sum %s' % (backup_filename)
        md5_p = Popen(split_shlex(md5_cmd), stdout=md5_file, cwd=backup_dir)
        md5_p.wait()

    with open(checksum_base + '.' + 'SHA256', 'a') as sha256_file:
        sha256_cmd = 'shasum -a 256 %s' % (backup_filename)
        sha256_p = Popen(split_shlex(sha256_cmd),
                         stdout=sha256_file,
                         cwd=backup_dir)
        sha256_p.wait()
Esempio n. 4
0
 def apply_changes(self):
     p = subprocess.Popen(split_shlex('netplan apply'))
     p.communicate()
     self.restart_ifaces()
     if p.returncode != 0:
         return n4d.responses.build_successful_call_response(False)
     if self.resolved_path.exists():
         self.systemdmanager.RestartUnit("systemd-resolved.service",
                                         "replace")
     return n4d.responses.build_successful_call_response(True)
def _backup(
        min_interval=MIN_INTERVAL,
        backup_dir=BACKUP_DIR,
        data_dir=DATA_DIR):
    b_file, b_mtime = _youngest_backup(backup_dir)
    y_mtime = _datetime_mtime(DATA_DIR)
    #_, y_mtime = _youngest_file(data_dir)
    # If we have a back-up arch and no file has changed since the back-up or
    #       the delay has not expired, return
    if b_file is not None and (y_mtime <= b_mtime
                               or (y_mtime - b_mtime) < min_interval):
        return

    # Here we do use UTC
    backup_filename = (_safe_dirname(data_dir) + '-'
                       + datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
                       + '.' + TAR_GZ_SUFFIX)
    backup_path = abspath(join_path(backup_dir, backup_filename))
    data_dir_parent = join_path(data_dir, '../')

    # TODO: Check the exit signals!
    cmd = 'tar -c -z -f %s -C %s %s' % (backup_path,
                                        data_dir_parent,
                                        _safe_dirname(data_dir))
    tar_p = Popen(split_shlex(cmd))
    tar_p.wait()

    checksum_base = join_path(backup_dir, CHECKSUM_FILENAME)
    with open(checksum_base + '.' + 'MD5', 'a') as md5_file:
        # *NIX could have used m5sum instead
        md5_cmd = 'md5sum %s' % (backup_filename)
        md5_p = Popen(split_shlex(md5_cmd), stdout=md5_file, cwd=backup_dir)
        md5_p.wait()

    with open(checksum_base + '.' + 'SHA256', 'a') as sha256_file:
        sha256_cmd = 'shasum -a 256 %s' % (backup_filename)
        sha256_p = Popen(
            split_shlex(sha256_cmd),
            stdout=sha256_file,
            cwd=backup_dir)
        sha256_p.wait()
Esempio n. 6
0
def normalize_and_split(tag):
    tag_cleansed = tag[1:-1]
    return split_shlex(tag_cleansed)