Disk ARchive  2.5.2
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Member Functions
libdar::archive_options_create Class Reference

class holding optional parameters used to create an archive More...

#include <archive_options.hpp>

Inherits libdar::on_pool.

List of all members.

Public Member Functions

 archive_options_create (const archive_options_create &ref)
const archive_options_createoperator= (const archive_options_create &ref)
void clear ()
 reset all the options to their default values
void set_reference (archive *ref_arch)
 set the archive to take as reference (nullptr for a full backup)
void set_selection (const mask &selection)
 defines the filenames to only save (except directory) as those that match the given mask
void set_subtree (const mask &subtree)
 defines the directory and files to consider (this mask will be applied to the absolute path of files being proceeded)
void set_allow_over (bool allow_over)
 defines whether overwritting is allowed or not
void set_warn_over (bool warn_over)
 defines whether a warning shall be issued before overwriting
void set_info_details (bool info_details)
void set_display_treated (bool display_treated, bool only_dir)
void set_display_skipped (bool display_skipped)
 whether to display files that have been excluded by filters
void set_display_finished (bool display_finished)
 whether to display a summary for each completed directory with total saved data and compression ratio
void set_pause (const infinint &pause)
 set a pause beteween slices. Set to zero does not pause at all, set to 1 makes libdar pauses each slice, set to 2 makes libdar pause each 2 slices and so on.
void set_empty_dir (bool empty_dir)
 defines whether we need to store ignored directories as empty
void set_compression (compression compr_algo)
 set the compression algorithm to be used
void set_compression_level (U_I compression_level)
 set the compression level (from 1 to 9)
void set_slicing (const infinint &file_size, const infinint &first_file_size=0)
 define the archive slicing
void set_ea_mask (const mask &ea_mask)
 defines which Extended Attributes to save
void set_execute (const std::string &execute)
 set the command to execute after each slice creation
void set_crypto_algo (crypto_algo crypto)
 set the cypher to use
void set_crypto_pass (const secu_string &pass)
void set_crypto_size (U_32 crypto_size)
 set the size of the encryption by block to use
void set_gnupg_recipients (const std::vector< std::string > &gnupg_recipients)
void set_gnupg_signatories (const std::vector< std::string > &gnupg_signatories)
 the private keys matching the email of the provided list are used to sign the archive random key
void set_compr_mask (const mask &compr_mask)
 defines files to compress
void set_min_compr_size (const infinint &min_compr_size)
 defines file size under which to never compress
void set_nodump (bool nodump)
 defines whether to ignore files with the nodump flag set
void set_exclude_by_ea (const std::string &ea_name)
void set_what_to_check (cat_inode::comparison_fields what_to_check)
 set the fields to consider when comparing inodes with reference archive (see cat_inode::comparison_fields enumeration in catalogue.hpp)
void set_hourshift (const infinint &hourshift)
 ignore differences of at most this integer number of hours while looking for changes in dates
void set_empty (bool empty)
 whether to make a dry-run operation
void set_alter_atime (bool alter_atime)
 whether to alter atime or ctime in the filesystem when reading files to save
void set_furtive_read_mode (bool furtive_read)
 whether to use furtive read mode (if activated, alter_atime() has no meaning/use)
void set_same_fs (bool same_fs)
 whether to limit the backup to files located on the same filesystem as the directory taken as root of the backup
void set_snapshot (bool snapshot)
 whether to make an emtpy archive only referencing the current state of files in the filesystem
void set_cache_directory_tagging (bool cache_directory_tagging)
 whether to consider the Cache Directory Tagging Standard
void set_fixed_date (const infinint &fixed_date)
 whether to ignore any archive of reference and only save file which modification is more recent that the given "fixed_date". To not use this feature set fixed_date value of zero (which is the value by default)
void set_slice_permission (const std::string &slice_permission)
 if not an empty string set the slice permission according to the octal value given.
void set_slice_user_ownership (const std::string &slice_user_ownership)
 if not an empty string set the user ownership of slices accordingly
void set_slice_group_ownership (const std::string &slice_group_ownership)
 if not an empty string set the group ownership of slices accordingly
void set_retry_on_change (const infinint &count_max_per_file, const infinint &global_max_byte_overhead=0)
 how much time to retry saving a file if it changed while being read
void set_sequential_marks (bool sequential)
 whether to add escape sequence aka tape marks to allow sequential reading of the archive
void set_sparse_file_min_size (const infinint &size)
 whether to try to detect sparse files
void set_security_check (bool check)
 whether to check for ctime changes since with the archive of reference
void set_user_comment (const std::string &comment)
 specify a user comment in the archive (always in clear text!)
void set_hash_algo (hash_algo hash)
void set_slice_min_digits (infinint val)
 defines the minimum digit a slice must have concerning its number, zeros will be prepended as much as necessary to respect this
void set_backup_hook (const std::string &execute, const mask &which_files)
 defines the backup hook for files
void set_ignore_unknown_inode_type (bool val)
 whether to ignore unknown inode types instead of issuing a warning
void set_entrepot (const entrepot &entr)
 defines the protocol to use for slices
void set_fsa_scope (const fsa_scope &scope)
 defines the FSA (Filesystem Specific Attribute) to only consider (by default all FSA activated at compilation time are considered)
void set_multi_threaded (bool val)
 whether libdar is allowed to spawn several threads to possibily work faster on multicore CPU (requires libthreadar)
archiveget_reference () const
const maskget_selection () const
const maskget_subtree () const
bool get_allow_over () const
bool get_warn_over () const
bool get_info_details () const
bool get_display_treated () const
bool get_display_treated_only_dir () const
bool get_display_skipped () const
bool get_display_finished () const
const infinintget_pause () const
bool get_empty_dir () const
compression get_compression () const
U_I get_compression_level () const
const infinintget_slice_size () const
const infinintget_first_slice_size () const
const maskget_ea_mask () const
const std::string & get_execute () const
crypto_algo get_crypto_algo () const
const secu_stringget_crypto_pass () const
U_32 get_crypto_size () const
const std::vector< std::string > & get_gnupg_recipients () const
const std::vector< std::string > & get_gnupg_signatories () const
const maskget_compr_mask () const
const infinintget_min_compr_size () const
bool get_nodump () const
const std::string & get_exclude_by_ea () const
cat_inode::comparison_fields get_comparison_fields () const
const infinintget_hourshift () const
bool get_empty () const
bool get_alter_atime () const
bool get_furtive_read_mode () const
bool get_same_fs () const
bool get_snapshot () const
bool get_cache_directory_tagging () const
const infinintget_fixed_date () const
const std::string & get_slice_permission () const
const std::string & get_slice_user_ownership () const
const std::string & get_slice_group_ownership () const
const infinintget_repeat_count () const
const infinintget_repeat_byte () const
bool get_sequential_marks () const
infinint get_sparse_file_min_size () const
bool get_security_check () const
const std::string & get_user_comment () const
hash_algo get_hash_algo () const
infinint get_slice_min_digits () const
const std::string & get_backup_hook_file_execute () const
const maskget_backup_hook_file_mask () const
bool get_ignore_unknown_inode_type () const
const entrepotget_entrepot () const
const fsa_scope & get_fsa_scope () const
bool get_multi_threaded () const

Detailed Description

class holding optional parameters used to create an archive

Definition at line 259 of file archive_options.hpp.


Member Function Documentation

void libdar::archive_options_create::set_alter_atime ( bool  alter_atime) [inline]

whether to alter atime or ctime in the filesystem when reading files to save

Parameters:
[in]alter_atimewhether to change atime (true) or ctime (false)
Note:
this parameter is used only when furtive_read_mode() is not activated

Definition at line 397 of file archive_options.hpp.

set the pass the password / passphrase to use. Giving an empty string makes the password asked interactively through the dialog argument if encryption has been set.

Definition at line 353 of file archive_options.hpp.

void libdar::archive_options_create::set_display_treated ( bool  display_treated,
bool  only_dir 
) [inline]

defines whether to show treated files

Parameters:
[in]display_treatedtrue to display processed inodes
[in]only_dironly display the current directory under process, not its individual files

Definition at line 307 of file archive_options.hpp.

void libdar::archive_options_create::set_exclude_by_ea ( const std::string &  ea_name) [inline]

defines whether to ignore files having a given EA

Note:
if ea_name is set to "" the default ea_name "user.libdar_no_backup" is used.

Definition at line 381 of file archive_options.hpp.

void libdar::archive_options_create::set_gnupg_recipients ( const std::vector< std::string > &  gnupg_recipients) [inline]

set the list of recipients that will be able to read the archive

Note:
this is based on GnuPG keyring and assumes the user running libdar has its keyring containing for each recipient a valid public key. If a list of recipient is given the crypto_pass (see above) is not used, but the crypto_algo stays used to encrypt the archive using a randomly generated key which is encrypted using the public keys of the recipients and dropped that way encrypted inside the archive.
if crypto_algo is not set while a list of recipient is given, the crypto algo will default to blowfish

Definition at line 364 of file archive_options.hpp.

specify whether to produce a hash file of the slice and which hash algo to use

Note:
the libdar::hash_algo data type is defined in hash_fichier.hpp, valid values are for examle libdar::hash_none, libdar::hash_md5, libdar::hash_sha1, libdar::hash_sha512...

Definition at line 475 of file archive_options.hpp.

void libdar::archive_options_create::set_info_details ( bool  info_details) [inline]

defines whether the user needs detailed output of the operation

Note:
in API 5.5.x and before this switch drove the displaying of processing messages and treated files. now it only drives the display of processing messages, use set_display_treated to define whether files under treatement should be display or not

Definition at line 301 of file archive_options.hpp.

void libdar::archive_options_create::set_slicing ( const infinint file_size,
const infinint first_file_size = 0 
) [inline]

define the archive slicing

Parameters:
[in]file_sizeset the slice size in byte (0 for a single slice whatever its size is)
[in]first_file_sizeset the first file size
Note:
if not specified or set to zero, first_file_size is considered equal to file_size

Definition at line 332 of file archive_options.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines