freezer.engine.rsync.rsync module¶
Freezer rsync incremental engine
- class freezer.engine.rsync.rsync.RsyncEngine(compression, symlinks, exclude, storage, max_segment_size, encrypt_key=None, dry_run=False, **kwargs)¶
Bases:
freezer.engine.engine.BackupEngine
- backup_data(backup_resource, manifest_path)¶
Execute backup using rsync algorithm.
If an existing rsync meta data is available the backup will be incremental, otherwise will be executed a level 0 backup
- Parameters
backup_resource –
manifest_path –
- Returns
- static compute_checksums(rel_path, files_meta, reg_file=True)¶
- compute_incrementals(rel_path, inode_str_struct, inode_dict_struct, files_meta, old_fs_meta_struct, write_queue, deleted=False)¶
- static gen_file_header(file_path, inode_str_struct)¶
Generate file header for rsync binary data file
- Parameters
file_path – file path
inode_str_struct – file binary string including inode data
- Returns
chunk of binary data to be processed on the next iteration
- gen_struct_for_deleted_files(files_meta, old_fs_meta_struct, rel_path, write_queue)¶
- get_file_struct(fs_path, new_level=False)¶
Generate file meta data from file abs path.
Return the meta data as a dict structure and a binary string
- Parameters
fs_path – file abs path
new_level –
- Returns
file data structure
- static get_file_type(file_mode, fs_path)¶
Extract file type from the file mode retrieved from file abs path
- Parameters
file_mode –
fs_path –
- Returns
- get_fs_meta_struct(fs_meta_path)¶
- static get_old_file_meta(old_fs_meta_struct, rel_path)¶
- get_sign_delta(fs_path, manifest_path, write_queue)¶
Compute the file or fs tree path signatures.
- Parameters
fs_path –
manifest_path –
write_queue –
- Returns
- static is_file_modified(old_file_meta, file_meta)¶
Check for changes on inode or file data
- Parameters
old_file_meta – meta data of the previous backup execution
file_meta – meta data of the current backup execution
- Returns
True if the file changed, False otherwise
- static is_reg_file(file_type)¶
- make_files(header_list, restore_abs_path, read_pipe, data_chunk, flushed, current_backup_level)¶
Header list binary structure:
header_len, file_abs_path, RSYNC_DATA_STRUCT_VERSION, file_mode, os_stat.st_uid, os_stat.st_gid, os_stat.st_size, mtime, ctime, uname, gname, file_type, linkname, rsync_block_size,
- Parameters
header_list –
restore_abs_path –
read_pipe –
data_chunk –
flushed –
current_backup_level –
- Returns
- make_reg_file(size, file_path, read_pipe, data_chunk, flushed, level_id)¶
Create the regular file and write data on it.
- Parameters
size –
file_path –
read_pipe –
data_chunk –
flushed –
level_id –
- Returns
- metadata(*args)¶
- property name¶
- Return type
str
- Returns
Engine name
- process_backup_data(data, do_compress=True)¶
Compresses and encrypts provided data according to args
- process_file(file_path, fs_path, files_meta, old_fs_meta_struct, write_queue)¶
- process_restore_data(data)¶
Decrypts and decompresses provided data according to args
- restore_level(restore_resource, read_pipe, backup, except_queue)¶
Restore the provided file into restore_abs_path.
Decrypt the file if backup_opt_dict.encrypt_pass_file key is provided. Freezer rsync header data structure:
header_len, RSYNC_DATA_STRUCT_VERSION, file_mode, os_stat.st_uid, os_stat.st_gid, os_stat.st_size, mtime, ctime, uname, gname, file_type, linkname
- Parameters
restore_resource –
read_pipe –
backup –
except_queue –
- Returns
- static rsync_gen_delta(file_path_fd, old_file_meta)¶
Get rsync delta for file descriptor provided as arg.
- Parameters
file_path_fd –
old_file_meta –
- Returns
- set_inode(uname, gname, mtime, name)¶
Set the file inode fields according to the provided args.
- Parameters
uname –
gname –
mtime –
name –
- Returns
- write_changes_in_file(fd_curr_file, data_chunk, read_pipe)¶
- write_file(file_fd, size, data_chunk, read_pipe, flushed)¶