Freezer rsync incremental engine
Bases: freezer.engine.engine.BackupEngine
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
backup_resource –
manifest_path –
Generate file header for rsync binary data file
file_path – file path
inode_str_struct – file binary string including inode data
chunk of binary data to be processed on the next iteration
Generate file meta data from file abs path.
Return the meta data as a dict structure and a binary string
fs_path – file abs path
new_level –
file data structure
Extract file type from the file mode retrieved from file abs path
file_mode –
fs_path –
Compute the file or fs tree path signatures.
fs_path –
manifest_path –
write_queue –
Check for changes on inode or file data
old_file_meta – meta data of the previous backup execution
file_meta – meta data of the current backup execution
True if the file changed, False otherwise
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,
header_list –
restore_abs_path –
read_pipe –
data_chunk –
flushed –
current_backup_level –
Create the regular file and write data on it.
size –
file_path –
read_pipe –
data_chunk –
flushed –
level_id –
str
Engine name
Compresses and encrypts provided data according to args
Decrypts and decompresses provided data according to args
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
restore_resource –
read_pipe –
backup –
except_queue –
Get rsync delta for file descriptor provided as arg.
file_path_fd –
old_file_meta –
Set the file inode fields according to the provided args.
uname –
gname –
mtime –
name –
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.