This tool synchronizes two remote backends. The tool assumes that the intent is
to have the destination match the source.
If the destination has files that are not in the source, they will be deleted
(or renamed if the retention option is set).
If the destination has files that are also present in the source, but the files
differ in size, or if the source files have a newer (more recent) timestamp,
the destination files will be overwritten by the source files. Given that some
backends do not allow for metadata or timestamp modification, and that the tool
is run after backup, the destination files should always have a timestamp that
is newer (or the same if run promptly) compared to the source files.
If the force option is set, the destination will be overwritten by the source,
regardless of the state of the files. It will also skip the initial comparison,
and delete (or rename) all files in the destination.
If the verify option is set, the files will be downloaded and compared after
uploading to ensure that the files are correct. Files that already exist in the
destination will be verified before being overwritten (if they seemingly match).
");}}
/// <summary>
/// Description of the handler
/// </summary>
publicstaticstringDescription{get{returnLC.L(@"This module runs remote synchronization after a successful backup to create a secondary copy (3-2-1).");}}
publicstaticstringAutoCreateFoldersDescription{get{returnLC.L("Automatically create folders in the destination backend if they do not exist");}}
/// <summary>
/// Backend retries option description.
/// </summary>
publicstaticstringBackendRetriesDescription{get{returnLC.L("Number of times to recreate a backend on backend errors");}}
/// <summary>
/// Backend retry delay option description.
/// </summary>
publicstaticstringBackendRetryDelayDescription{get{returnLC.L("Delay in milliseconds between backend retries");}}
/// <summary>
/// Backend retry with exponential backoff option description.
/// </summary>
publicstaticstringBackendRetryWithExponentialBackoffDescription{get{returnLC.L("Use exponential backoff for backend retries, multiplying the delay by two for each failure.");}}
/// <summary>
/// Confirm option description.
/// </summary>
publicstaticstringConfirmDescription{get{returnLC.L("Automatically confirm the operation");}}
/// <summary>
/// Dry-run option description.
/// </summary>
publicstaticstringDryRunDescription{get{returnLC.L("Do not actually write or delete files. If not set here, the global options will be checked");}}
/// <summary>
/// Destination options option description.
/// </summary>
publicstaticstringDstOptionsDescription{get{returnLC.L("Options for the destination backend. Each option is a key-value pair separated by an equals sign, e.g. --dst-options key1=value1 key2=value2 [default: empty]");}}
/// <summary>
/// Force option description.
/// </summary>
publicstaticstringForceDescription{get{returnLC.L("Force the synchronization");}}
/// <summary>
/// Global options option description.
/// </summary>
publicstaticstringGlobalOptionsDescription{get{returnLC.L("Global options all backends. May be overridden by backend specific options (src-options, dst-options). Each option is a key-value pair separated by an equals sign, e.g. --global-options key1=value1 key2=value2 [default: empty]");}}
/// <summary>
/// Log file option description.
/// </summary>
publicstaticstringLogFileDescription{get{returnLC.L("The log file to write to. If not set here, global options will be checked [default: \"\"]");}}
/// <summary>
/// Log level option description.
/// </summary>
publicstaticstringLogLevelDescription{get{returnLC.L("The log level to use. If not set here, global options will be checked");}}
/// <summary>
/// Parse arguments only option description.
/// </summary>
publicstaticstringParseArgumentsOnlyDescription{get{returnLC.L("Only parse the arguments and then exit");}}
/// <summary>
/// Progress option description.
/// </summary>
publicstaticstringProgressDescription{get{returnLC.L("Print progress to STDOUT");}}
/// <summary>
/// Retention option description.
/// </summary>
publicstaticstringRetentionDescription{get{returnLC.L("Toggles whether to keep old files. Any deletes will be renames instead");}}
/// <summary>
/// Retry option description.
/// </summary>
publicstaticstringRetryDescription{get{returnLC.L("Number of times to retry on errors");}}
/// <summary>
/// Source options option description.
/// </summary>
publicstaticstringSrcOptionsDescription{get{returnLC.L("Options for the source backend. Each option is a key-value pair separated by an equals sign, e.g. --src-options key1=value1 key2=value2 [default: empty]");}}
/// <summary>
/// Verify contents option description.
/// </summary>
publicstaticstringVerifyContentsDescription{get{returnLC.L("Verify the contents of the files to decide whether the pre-existing destination files should be overwritten");}}
/// <summary>
/// Verify get after put option description.
/// </summary>
publicstaticstringVerifyGetAfterPutDescription{get{returnLC.L("Verify the files after uploading them to ensure that they were uploaded correctly");}}