示例#1
0
    def verify_backup(self):
        """
        Checksums the source and target directories to make sure the backup
        succeeded.
        """
        source_checksum = checksum_directory(self.source)
        print source_checksum

        target_checksum = checksum_directory(self.target)
        print target_checksum

        if source_checksum == target_checksum:
            log('      verified: True')
            log('      checksum: %s' % source_checksum)
        else:
            log('      verified: False')
示例#2
0
    def sync_logs_and_config(self):
        """
        Copies all logs and config files to the device and verifies that the
        copy was successful.
        """
        source_dir = config.BASE_PATH
        target_dir = os.path.join(self.path, '.equanimity')

        print_header('Syncing logs to backup device')

        if not os.path.exists(target_dir):
            os.makedirs(target_dir)

        rsync_cmd = 'rsync -a --delete %s/ %s' % (source_dir, target_dir)
        subprocess.call(rsync_cmd, shell=True)

        if checksum_directory(source_dir) == checksum_directory(target_dir):
            print 'Logs synced successfully.'
        else:
            print_in_color('Logs NOT SYNCED.', 'red')