On 12/21/18 12:05 PM, CLOSE Dave wrote:
> Yesterday, I wrote:
> 
>> I have a script that uses rsync to pull the Fedora repositories
>> nightly. If I run it manually, it works flawlessly. But if it runs
>> via cron, I get an error on all the Fedora 28 repositories. I do not
>> get the error on Fedora 27 or RPMFusion 27 or 28 repositories. The
>> script sets timeout values to 3600 seconds but fails in only a few
>> seconds. (I haven't started to sync F29 repos yet.)
>>
>> The error message is,
>>
>>   rsync: safe_read failed to read 1 bytes [Receiver]: Connection 
>> reset by peer (104)
>>   rsync error: error in rsync protocol data stream (code 12) at
>> io.c(276) [Receiver=3.1.3]
>>
>> The commands in the script are,
>>
>>   # cat mirror
>>   #!/bin/sh
>>   /root/bin/mirror-fedora-27
>>   /root/bin/mirror-fedora-28
>>   /root/bin/mirror-rpmfusion-27
>>   /root/bin/mirror-rpmfusion-28
> 
> Just for the heck of it, I changed this script last night to reverse the
> order of the first two subordinate scripts:
> 
>   # cat mirror
>   #!/bin/sh
>   /root/bin/mirror-fedora-28
>   /root/bin/mirror-fedora-27
>   /root/bin/mirror-rpmfusion-27
>   /root/bin/mirror-rpmfusion-28
> 
> And the problem changed. Now it was the F27 updates which failed with
> the error above. (And, yes, I know F27 is no longer being updated so,
> even if it worked, there shouldn't have been any updates loaded.)
> 
> And the F27 subordinate script is,
> 
>   # cat mirror-fedora-27
>   #!/bin/sh
>   opt="-aHv --timeout=3600 --contimeout=3600 --exclude=repoview/**"
>   opt+=" --usermap=:apache --groupmap=:apache --exclude=0ad-*"
>   opt+=" --exclude=/*/armhfp/** --exclude=debug/**"
>   opt+=" --exclude=repoview/** --exclude=*.html"
>   opt+=" --exclude=/*/SRPMS/**  --delete-excluded"
>   src="rsync://mirrors.kernel.org/fedora"
>   dst="/var/www/html/pub/fedora/linux"
>   r="releases"; u="updates"; s="Server"; e="Everything"; w="Workstation"
>   doit () {
>     mkdir -p $dst/$3
>     rsync $opt $src/$2 $dst/$3
>   }
>   doit "$e x86_64" $r/27/$e/x86_64/os/ $r/27/$e/x86_64/os
>   doit "$s x86_64" $r/27/$s/x86_64/os/ $r/27/$s/x86_64/os
>   doit "$w x86_64" $r/27/$w/x86_64/os/ $r/27/$w/x86_64/os
>   doit "$u x86_64" $u/27/$e/x86_64/    $u/27/$e/x86_64/os
> 
> Other scripts are similar with the obvious substitutions.
> 
> Note that, even after the failures in the F27 updates last night or the
> F28 updates previously, the RPMFusion updates did not fail.

Ok, so it looks like one of the scripts is leaving you in a bogus
directory so the next script fails. Like I said, environment things can
be subtle.

In scripts, I typically have an explicit "cd /some/base/dir" command
inside a loop so I know each iteration of the loop is executing from a
known base directory and not wherever the last iteration of the loop
left me.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ri...@alldigital.com -
- AIM/Skype: therps2        ICQ: 226437340           Yahoo: origrps2 -
-                                                                    -
-                      LOOK OUT!!! BEHIND YOU!!!                     -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org

Reply via email to