Sylvain Beucler
2007-04-05 09:52:11 UTC
Hi,
I'm doing backups using the feature described in the rsync man page
section "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION"
(no shouting intended :))
Something like:
rsync -a --hard-links --sparse --delete-excluded --numeric-ids \
--link-dest=/mnt/backup/mercure/copy/ \
-e 'ssh -i /root/.ssh/backup' \
***@mercure::root /mnt/backup/mercure/copy.new/
On the remote site, there's a kind of restricted shell (through
authorized_keys "command=") with a specific rsyncd configuration that
offers read-only access to '/' as module 'root'. This offers an
authenticated, encrypted, read-only remote rsync access. I haven't
found a better way to access a remote system via rsync :)
I can't get it to work in rsnapshot for 2 reasons:
- rsnapshot doesn't recognize rsync-***@host::module as an ssh path
(which is logic, it isn't a ssh path in this case unless '-e' is
explicitely specified), so it doesn't use 'ssh_args'.
- If I use +rsync_long_args=--rsh='ssh -i/root/.ssh/backup', rsnapshot
"cuts" the command line:
/usr/bin/rsync -aq --delete --numeric-ids --relative --delete-excluded \
--exclude=/dev/pts/* --exclude=/proc/* --exclude=/sys/* \
--exclude=/mnt/*/* --exclude=/var/cache/apt/archives/* --rsh='ssh \
-i/root/.ssh/backup' ***@mercure::root \
/var/cache/rsnapshot/daily.0/mercure/
which makes rsync complain:
rsync: -i/root/.ssh/backup': unknown option
I guess rsnapshot should take quotes into accounts when cutting the
command line.
How do you see fixing this issue cleanly?
I'd like to see this access method supported :)
Thanks,
I'm doing backups using the feature described in the rsync man page
section "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION"
(no shouting intended :))
Something like:
rsync -a --hard-links --sparse --delete-excluded --numeric-ids \
--link-dest=/mnt/backup/mercure/copy/ \
-e 'ssh -i /root/.ssh/backup' \
***@mercure::root /mnt/backup/mercure/copy.new/
On the remote site, there's a kind of restricted shell (through
authorized_keys "command=") with a specific rsyncd configuration that
offers read-only access to '/' as module 'root'. This offers an
authenticated, encrypted, read-only remote rsync access. I haven't
found a better way to access a remote system via rsync :)
I can't get it to work in rsnapshot for 2 reasons:
- rsnapshot doesn't recognize rsync-***@host::module as an ssh path
(which is logic, it isn't a ssh path in this case unless '-e' is
explicitely specified), so it doesn't use 'ssh_args'.
- If I use +rsync_long_args=--rsh='ssh -i/root/.ssh/backup', rsnapshot
"cuts" the command line:
/usr/bin/rsync -aq --delete --numeric-ids --relative --delete-excluded \
--exclude=/dev/pts/* --exclude=/proc/* --exclude=/sys/* \
--exclude=/mnt/*/* --exclude=/var/cache/apt/archives/* --rsh='ssh \
-i/root/.ssh/backup' ***@mercure::root \
/var/cache/rsnapshot/daily.0/mercure/
which makes rsync complain:
rsync: -i/root/.ssh/backup': unknown option
I guess rsnapshot should take quotes into accounts when cutting the
command line.
How do you see fixing this issue cleanly?
I'd like to see this access method supported :)
Thanks,
--
Sylvain
Sylvain