rsnapshot conf file broken in new 8.10 package
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rsnapshot (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Between Ubuntu 8.04 and 8.10 the rsnapshot package was updated. The new version has a couple of problems in the default /etc/rsnapshot.conf file included in the package. These problems did not exist in 8.04.
The following configuration options are all located in /etc/rsnapshot.
Problem 1: snapshot_root is wrong
In 8.04, the top-level destination dir snapshot_root is there and is configured correctly:
dereks@dev:~$ cat /etc/rsnapshot.conf | grep snapshot_root | head -1
snapshot_root /var/cache/
dereks@dev:~$ ls -lad /var/cache/
drwxr-xr-x 2 root root 4096 2006-06-21 23:46 /var/cache/
dereks@dev:~$
Note, the value for "snapshot_root" is "/var/cache/
In 8.10, this is now /.snapshots/, which does not exist, and which is not created by the DEB:
root@ubuntu:/etc# cat /etc/rsnapshot.conf | grep snapshot_root | head -1
snapshot_root /.snapshots/
root@ubuntu:/etc# ls -lad /.snapshots
ls: cannot access /.snapshots: No such file or directory
root@ubuntu:/etc# ls -lad /var/cache/
drwx------ 2 root root 4096 2008-05-06 07:36 /var/cache/
root@ubuntu:/etc#
Note that the wrong value "/.snapshots" does not exist on the filesystem. If Ubuntu wants to change the default from /var/cache/
Problem 2: The intervals are uncommented (danger!)
In 8.04, the cron job interval definitions were all commented out by default:
dereks@dev:~$ cat /etc/rsnapshot.conf | grep "#interval"
#interval hourly 6
#interval daily 7
#interval weekly 4
#interval monthly 6
dereks@dev:~$
The leading "#" is a comment, like Python/Bash/etc. This had the effect that the user was forced to edit the config file and define the intervals that he wanted.
In 8.10, the intervals are uncommented:
root@ubuntu:/etc# cat /etc/rsnapshot.conf | grep "^interval"
interval hourly 6
interval daily 7
interval weekly 4
root@ubuntu:/etc#
This means simply running rsnapshot after an install (without customizing the config file) will cause rsnapshot to backup the local directories /home/, /etc/, and /usr/local/, because those local backup targets are defined (by default) at the end of the config file. In my opinion that is dangerous.
I use rsnapshot to do networked-based backups across an SSH tunnel. We're talking terabytes of data. If I did an rsnapshot install and it backed up my /home/ dir to the local dir /.snapshots/ I would immediately run out of disk space.
Since rsnapshot is a backup program providing networked backups with incremental file changes, I think the user should be forced to define his preferred backup targets and intervals. Presuming /home/ (or any other dir) is the target to be backed up is a Bad Idea. I'm a huge fan of It Just Works (and I'm a total Ubuntu fanboy) but in this case I think the user should be forced to intervene and hand-edit the config file -- which is exactly how 8.04 worked.
Extra Question: Is it possible to add regression tests to the package build process, to prove these problems are not re-introduced again in 9.04 (and upwards)?