Rsnapshot installed by ubuntu has a major flaw

Bug #1455174 reported by bob
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rsnapshot (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Ubuntu (14.0.4LTS) installs rsnapshot 1.3.1, a version dating from from 2009 or before with a bug that will cause most reasonable rsnapshot configurations to fail . Per their _old_ website:

"rsnapshot version 1.3.1 has an issue where the rsync command is interpreted by a shell rather than directly executed by rsnapshot. This bug is expected to be fixed in rsnapshot CVS on 24 March 2009, and so should appear an a forth-coming release (probably version 1.3.2). This bug was not present in rsnapshot 1.3.0. "

The log reports will indicate that Rsync has received an argument it doesn't understand. Because the error seems unrelated to the problem and because the bug was fixed over six years ago, troubleshooting the problem is quite time consuming.

Their current website with more current code is:
https://github.com/rsnapshot/rsnapshot

Revision history for this message
Micah Gersten (micahg) wrote :

Thank you for reporting this to Ubuntu. Was this not fixed in Bug #1309710?

Changed in rsnapshot (Ubuntu):
status: New → Incomplete
Revision history for this message
bob (coyote4til7) wrote :
Download full text (8.0 KiB)

It certainly does sound like they're related.

But, the discussion over there is a bit convoluted: I'm merging! I'm not merging! Merging! so it's not clear that someone even intended to actually merge the changes into the code let alone did.

In this case, I installed Ubunut 14.04 this machine about a month ago and updated everything at that point. To be sure, I re-ran the update today. If it was merged in, it isn't pulled in during install or updates for 14.04.

It's quite easy to reproduce. Remote backups without Excludes work. If I have three excludes (things I don't want to back), it does blow up. A backup of the config file that does exactly that is below (sans a bunch of tailing commented-out examples at the end). The key lines are:

exclude /mnt/4bay0/Virtual\ Machines*
exclude /mnt/4bay0/Dropbox*
exclude /mnt/4bay0/MachineImages
backup root@vm143:/home/ VM143/

Of course, root has to have a key file setup with the other machine first, blah, blah.

Part of what made it glaringly obvious that there was something weird going on is that when you run rsnapshot at the CLI (e.g. /usr/bin/rsnapshot hourly), it will spit out each command along with any errors. The rsync error is "1" which is supposed to mean a bad argument. When I simply took the rsync command that was erroring and pasted it back in (after removing the backslashes), they just worked.

#######################
# CONFIG FILE VERSION #
#######################

config_version 1.2

###########################
# SNAPSHOT ROOT DIRECTORY #
###########################

# All snapshots will be stored under this root directory.
snapshot_root /mnt/bkups/rsnapshot/

# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
#no_create_root 1

#################################
# EXTERNAL PROGRAM DEPENDENCIES #
#################################

# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp /bin/cp

# uncomment this to use the rm program instead of the built-in perl routine.
#
cmd_rm /bin/rm

# rsync must be enabled for anything to work. This is the only command that
# must be enabled.
#
cmd_rsync /usr/bin/rsync

# Uncomment this to enable remote ssh backups over rsync.
#
cmd_ssh /usr/bin/ssh

# Comment this out to disable syslog support.
#
cmd_logger /usr/bin/logger

# Uncomment this to specify the path to "du" for disk usage checks.
# If you have an older version of "du", you may also want to check the
# "du_args" parameter below.
#
#cmd_du /usr/bin/du

# Uncomment this to specify the path to rsnapshot-diff.
#
#cmd_rsnapshot_diff /usr/bin/rsnapshot-diff

# Specify the path to a script (and any optional arguments) to run right
# before rsnapshot syncs files
#
#cmd_preexec /home/twood/bin/rsnapshot-preexec.sh

# Specify the path to a script (and any optional arguments) to run right
# after rsnapshot syncs files
#
#cmd_postexec /path/to/postexec/script

# Paths to lvcrea...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for rsnapshot (Ubuntu) because there has been no activity for 60 days.]

Changed in rsnapshot (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.