3

I have a global rsnapshot config file for all machines that we backup. The global file has

ssh_args -p 123

The machine specific files include the global config file and tries to override the port:

include_conf    /etc/rsnapshot-common.conf
ssh_args    -p 456

This does not work, I get the error:

global ssh_args can only be set once, but is already set. Perhaps you wanted to use a per-backup-point ssh_args instead.

So it knows what I want to do, but it doesn't tell me how to do it! The man page doesn't mention any way of doing this either. How do I change the port after its been set globally?

3 Answers 3

8

The rsnapshot man page seems to imply that you add the per-backup-point arguments as a comma separated list after the destination, the example they give is

backup /var/ localhost/ one_fs=1

This is the same as the other examples, but notice the fourth column. This is how you specify per-backup-point options to over-ride global settings. This extra parameter can take several options, separated by commas.

so I guess you would use

backup /var/ localhost/ ssh_args=-p456
1
  • Thanks! It looks like this is the syntax backup /var/ localhost/ ssh_args=-p456
    – Nick
    Jan 4, 2013 at 20:17
1

You can also set the port globally for that user inside the corresponding ~/.ssh/config:

Host example.com
Port 1234

That way it'd get picked up everywhere SSH-related and you won't have to manually specify it each time.

Not saying it's a better solution, just an alternative.

1

rsnapshot.conf is a TAB-separated file, so the ssh_args can even contain spaces. Mine looks like this:

backup  root@HOSTNAME:/ HOSTNAME/   ssh_args=-p 2220 -i /ssh-id -o StrictHostKeychecking=no

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .