Re: /usr/bin/ssh not found when rsync is executed within rsnapshot
On 10/02/14 05:38, Lorenz wrote: > i have a problem. But let me first describe my setup. [...rsnapshot configuration...] > cmd_ssh/usr/bin/ssh > ssh_args-i /home/backupuser/.ssh/id_rsa > rsync: Failed to exec /usr/bin/ssh -i /home/backupuser/.ssh/id_rsa: No such file or directory (2) There's a bug in some versions of rsnapshot that causes it to try and execute cmd_ssh + ssh_args as a single command. The workaround is either to put as much of ssh_args as possible into $HOME/.ssh/config for the specific target host, or to create a /usr/local/bin/ssh-for-rsnapshot type script that incorporates the call to ssh with the relevant arguments. Chris smime.p7s Description: S/MIME Cryptographic Signature -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: /usr/bin/ssh not found when rsync is executed within rsnapshot
> There are 2 easy solutions: > > 1. put what you need to run in a script and specify --rsh=/path/script. > > 2. put your ssh options into your ~/.ssh/config file, and stop specifying > --rsh. If you only want that key sometimes when going to that host, you > can specify a host alias in the config. For instance: > > Host debx40-backup > Hostname debx40 > User backupuser > IdentityFile /home/backupuser/.ssh/id_rsa > > That even lets you omit the "backupuser@" prefix on the command, since you > told ssh to use the right user, but only if you use "debx40-backup:/" for > the destination host. If you always want those options, just remove the > "-backup" suffix (and the Hostname line) and they will get used for every > ssh to debx40 (by name). that one really helped me out. Thanks a lot. Lorenz -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: /usr/bin/ssh not found when rsync is executed within rsnapshot
On Mon, Feb 10, 2014 at 1:44 AM, Paul Slootman wrote: > Besides the extraneous -e option this should work. > No, the later --rsh option overrides the weird "v" string, so that's not the issue. It appears to be that whatever compiled version of rsync he is using doesn't allow args -- it seems to be trying to find the command using the full string, including spaces and ssh options. Since normal rsync allows command args there, I don't know what is strange about his setup. There are 2 easy solutions: 1. put what you need to run in a script and specify --rsh=/path/script. 2. put your ssh options into your ~/.ssh/config file, and stop specifying --rsh. If you only want that key sometimes when going to that host, you can specify a host alias in the config. For instance: Host debx40-backup Hostname debx40 User backupuser IdentityFile /home/backupuser/.ssh/id_rsa That even lets you omit the "backupuser@" prefix on the command, since you told ssh to use the right user, but only if you use "debx40-backup:/" for the destination host. If you always want those options, just remove the "-backup" suffix (and the Hostname line) and they will get used for every ssh to debx40 (by name). ..wayne.. -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: /usr/bin/ssh not found when rsync is executed within rsnapshot
On Mon 10 Feb 2014, Lorenz wrote: > grep -v "#" /etc/rsnapshot | grep [a-z] > i.e. the /etc/rsnapshot minus the comments and the empty lines: I'd recommend using 'grep .' to find non-empty lines... shorter and more accurate :-) > rsync_long_args -ev --rsync-path=/home/backupuser/rsync-wrapper.sh -e is the short version of --rsh so I don't know what you're trying to do here... use the 'v' command instead of (the default) ssh? Probably not. > /usr/bin/rsync -av -ev --rsync-path=/home/backupuser/rsync-wrapper.sh \ > --rsh="/usr/bin/ssh -i /home/backupuser/.ssh/id_rsa" backupuser@debx40:/ \ > /media/extfp/Backup/rsnapshot/test/hourly.0/debx40/ > rsync: Failed to exec /usr/bin/ssh -i /home/backupuser/.ssh/id_rsa: No such > file or directory (2) Besides the extraneous -e option this should work. The error message is a bit misleading though. Make sure that there are no "wrong" whitespace characters in there. I've fallen into the trap of copy&pasting commands / configs from websites and having them fail mysteriously, until I noticed I could not left-shift those lines in vim with << . Those leading spaces were not spaces but "no-break spaces", hex value 0x80. So check your config / scripts with "LANG=C cat -v /etc/rsnapshot" etc. > What could be the reason? How could i debug this? I often use "strace -f -e execve command ..." and / or "strace -f -e execve command ..." in such cases to see what it is really trying to run. Paul -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
/usr/bin/ssh not found when rsync is executed within rsnapshot
Hello, yesterday i posted this issue on snapshot-disc...@listsourceforge.net (subject: wondering why backup wont start), but after reading the FAQ and searching the bugzilla DB i thought it could help to post here as well. i have a problem. But let me first describe my setup. i followed this howto: http://dev.kprod.net/?q=linux-backup-rsnapshot-no-root Now there is a backup server rpi-home and a remote host debx40. On both these computers there is debian jessie (with rsnapshot version 1.3.1) installed, there is a user backupuser and as far as i can see the remote login with password for that user works: backupuser@rpi-home ~ $ ssh debx40 -i ~/.ssh/id_rsa Linux debx40 3.12-1-486 #1 Debian 3.12.9-1 (2014-02-01) i686 ###some greeting lines### $ whoami backupuser here is the result of grep -v "#" /etc/rsnapshot | grep [a-z] i.e. the /etc/rsnapshot minus the comments and the empty lines: config_version 1.2 snapshot_root /media/extfp/Backup/rsnapshot/test/ no_create_root 1 cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger retain hourly 6 retain daily 7 retain weekly 4 verbose 5 loglevel5 logfile /var/log/rsnapshot.log lockfile/var/run/rsnapshot.pid rsync_long_args -ev --rsync-path=/home/backupuser/rsync-wrapper.sh ssh_args-i /home/backupuser/.ssh/id_rsa link_dest 0 rsync_numtries 1 backup backupuser@debx40:/ debx40/ and this is the content of /home/backupuser/rsync-wrapper.sh on the remote debx40. #!/bin/sh date >> /home/backupuser/backuplog echo $@ >> /home/backupuser/backuplog /usr/bin/sudo /usr/bin/rsync "$@"; in the /etc/sudoers there is a line backupuser ALL=NOPASSWD: /usr/bin/rsync when i enter e.g. sudo rsnapshot -D hourly on the backup server rpi-home i get this require Lchown Lchown module loaded successfully Setting locale to POSIX "C" echo 4702 > /var/run/rsnapshot.pid mkdir -m 0755 -p /media/extfp/Backup/rsnapshot/test/hourly.0/ /usr/bin/rsync -av -ev --rsync-path=/home/backupuser/rsync-wrapper.sh \ --rsh="/usr/bin/ssh -i /home/backupuser/.ssh/id_rsa" backupuser@debx40:/ \ /media/extfp/Backup/rsnapshot/test/hourly.0/debx40/ rsync: Failed to exec /usr/bin/ssh -i /home/backupuser/.ssh/id_rsa: No such file or directory (2) rsync error: error in IPC code (code 14) at pipe.c(85) [Receiver=3.1.0] rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.0] rsnapshot encountered an error! The program was invoked with these options: /usr/bin/rsnapshot -D hourly ERROR: /usr/bin/rsync returned 12 while processing backupuser@debx40:/ /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot -D hourly: \ ERROR: /usr/bin/rsync returned 12 while processing backupuser@debx40:/ touch /media/extfp/Backup/rsnapshot/test/hourly.0/ No directory to delete: /media/extfp/Backup/rsnapshot/test/_delete.4702 rm -f /var/run/rsnapshot.pid /usr/bin/logger -i -p user.err -t rsnapshot /usr/bin/rsnapshot -D hourly: \ ERROR: /usr/bin/rsnapshot -D hourly: completed, but with some errors I suppose the important info is in that line rsync: Failed to exec /usr/bin/ssh -i /home/backupuser/.ssh/id_rsa: No such file or directory (2) but surprisingly to me: the Backup starts when i do sudo /usr/bin/rsync -av -ev --rsync-path=/home/backupuser/rsync-wrapper.sh \ --rsh="/usr/bin/ssh -i /home/backupuser/.ssh/id_rsa" backupuser@debx40:/ \ /media/extfp/Backup/rsnapshot/test/hourly.0/debx40/ , which is the exact same command (copy-pasted from the rsnapshot output) that caused the error in the first place. Except the sudo in front of it. What could be the reason? How could i debug this? -- kind Regards Lorenz from Greifswald -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html