Re: /usr/bin/ssh not found when rsync is executed within rsnapshot

2014-02-14 Thread Chris Davies

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

2014-02-11 Thread Lorenz
 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

2014-02-10 Thread Paul Slootman
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 copypasting 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


Re: /usr/bin/ssh not found when rsync is executed within rsnapshot

2014-02-10 Thread Wayne Davison
On Mon, Feb 10, 2014 at 1:44 AM, Paul Slootman paul+rs...@wurtel.netwrote:

 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

/usr/bin/ssh not found when rsync is executed within rsnapshot

2014-02-09 Thread Lorenz
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