Long Arguments With rsnapshot

Since the unexplained loss of disk space I have been more closely monitoring rsnapshot backups. I noticed that rsync was failing during certain backups. The reported error codes:


     4 - Requested action not supported. Either: an attempt was made to
         manipulate 64-bit files on a platform that cannot support them;
         or an option was specified that is supported by the client and
         not by the server
    10 - Error in socket I/O
    

The exit code errors did not make sense because the backups are disk to disk. No remote computers are involved. Even if there were remote computers, SSH keys are used rather than passwords. Nonetheless, in the rsnapshot rsync_long_args configuration I decided to add the --timeout=15 parameter.

rsync_long_args --timeout=15

I added a tab after rsync_long_args and ran a configtest.

The backups kind of exploded. The files were backed up to a single directory.

I removed the configuration option.

The next day as I looked for clues I was reminded the rsync_long_args contains the following default parameters:

--delete --numeric-ids --relative --delete-excluded

Enabling only the --timeout=15 parameter explicitly overrides and removes the default parameters. That includes the --relative option, which is why the backups reverted to a single directory.

The correct way to add rsync long arguments parameters is to explicitly include the default parameters. I added a note in the configuration files to help me remember.


    # When using rsync_long_args be sure to include the default parameters.
    rsync_long_args  --delete --numeric-ids --relative --delete-excluded --timeout=15
    

While the rsnapshot configuration is persnickety about using tabs after the rsync_long_args option declaration, spaces are used to separate the rsync argument options.

Posted: Category: Usability Tagged: General

Next: Broken rsync

Previous: Accessing VirtualBox Disks Redux