parallel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Minimal rsync version


From: Manuel Landesfeind
Subject: Re: Minimal rsync version
Date: Thu, 12 May 2011 16:54:15 +0200
User-agent: Roundcube Webmail/0.5

Hi,

I am aware of the reason using "-E" and I was thinking that it is absolutely necessary. This is the reason why I would recommend a "die". But rsync 2.6.7 is a very old version (year 2006) and from my point of view it is ok not support it. Nevertheless I performed the checks you wanted (see below).

Funny story: From my check results it seems that the -E option is not necessary.

Manuel



---
www.landesfeind.de

On Thu, 12 May 2011 15:39:20 +0200, Ole Tange wrote:
On Tue, May 10, 2011 at 8:13 PM, Manuel Landesfeind
<manuel@landesfeind.de> wrote:
Hi,

using parallel on an older system resulted in an error which can be tracked
down to the usage of the "-E" parameter to rsync (see below).

-E is unfortunately necessary to transfer executable files (which may
be the case for --basefile).

I checked the rsync git-log and it seems that the parameter has been
introduced in version 2.6.7. It may be useful to check if the required version of rsync is available and print some warning if not. Please find
attached a code snippet which may help you.

Maybe GNU Parallel should just warn if -E is not working and say that
executables cannot be transferred and then transfer as non-executable
- which would often be sufficient.

I do not have access to a system with old rsync. Can you test what
happens the 4 cases when running rsync -E:


For testing purpose I have created a executable file
$ touch testfile
$ chmod +x testfile
$ ls -l testfile
-rwxr-xr-x 1 manuel manuel 0 2011-05-12 16:37 testfile


* sender rsync has -E, recipient rsync has -E

manuel@newserver: ~$ rsync -E testfile other_new_server:

=> (File has been transfered and executable flag is set)

* sender rsync does not have -E, recipient rsync has -E
manuel@oldserver: ~$ rsync -E testfile newserver:
rsync: -E: unknown option
rsync error: syntax or usage error (code 1) at main.c(1084)

=> (Obviously the file has not been transfered)

* sender rsync has -E, recipient rsync does not have -E
manuel@newserver: ~$ rsync -E testfile oldserver:
rsync: on remote machine: -Ee.Lsf: unknown option
rsync error: syntax or usage error (code 1) at main.c(1084)
rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

=> (The file has not been transfered)

* sender rsync does not have -E, recipient rsync does not have -E
manuel@oldserver: ~$ rsync -E testfile other_old_server:
rsync: -E: unknown option
rsync error: syntax or usage error (code 1) at main.c(1084)

=> (The file has not been transfered)


I tried another one:
* sender rsync has -E, recipient rsync does not have -E (but dont specify -E parameter)
manuel@newserver: ~$ rsync testfile oldserver:

=> (File has been transfered and executable flag is set)

And then the funny one:
* sender rsync does not have -E, recipient rsync does not have -E (but dont specified -E parameter)

manuel@oldserver: ~$ rsync testfile other_old_server:

=> (File has been transfered and executable flag is set)

and also from older version to newer version:

manuel@oldserver: ~$ rsync testfile newserver:

=> (File has been transfered and executable flag is set)


/Ole




reply via email to

[Prev in Thread] Current Thread [Next in Thread]