* [mdk-re] Rync over dial
@ 2002-02-18 18:01 Andrew Nazarkin
2002-02-18 23:58 ` cornet
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Nazarkin @ 2002-02-18 18:01 UTC (permalink / raw)
To: MANDRAKE-RUSSIAN
Здравствуйте, MANDRAKE-RUSSIAN.
Подскажите, плиз:
Имеется выход в инет с 01 до 09. По крону запускается.
И через минуту запускается rsync, который синхронизирует каталог RPMS
с сервера altlinux.ru.
Так вот, в случае какой-либо ошибки (разрыв связи и т.п.) rsync
рушится, и, сами понимаете, не поднимается. А время жалко - за ночь
скачивается 100-120Мб, и если rsync работает не всю ночь - то ой :(
Что будет, если написать какой-нибудь скрипт вроде этого:
#!/bin/sh
while true
do
rsync трам-пам-па
sleep 60
done
Чтобы при падении он самоподнимался?
Кто-нибудь пробовал такое?
P.S. В 9 утра тачка перегружается, так что насильно прибивать процесс
мне не грозит :D
--
С уважением,
Alting mailto:alting@mail.ru
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [mdk-re] Rync over dial
2002-02-18 18:01 [mdk-re] Rync over dial Andrew Nazarkin
@ 2002-02-18 23:58 ` cornet
2002-02-19 0:17 ` Aleksandr Blohin
2002-02-19 0:19 ` Aleksandr Blohin
0 siblings, 2 replies; 4+ messages in thread
From: cornet @ 2002-02-18 23:58 UTC (permalink / raw)
To: mandrake-russian
Andrew Nazarkin wrote:
>
> Здравствуйте, MANDRAKE-RUSSIAN.
> Подскажите, плиз:
> Имеется выход в инет с 01 до 09. По крону запускается.
> И через минуту запускается rsync, который синхронизирует каталог RPMS
> с сервера altlinux.ru.
> Так вот, в случае какой-либо ошибки (разрыв связи и т.п.) rsync
> рушится, и, сами понимаете, не поднимается. А время жалко - за ночь
> скачивается 100-120Мб, и если rsync работает не всю ночь - то ой :(
> Что будет, если написать какой-нибудь скрипт вроде этого:
>
> #!/bin/sh
> while true
> do
> rsync трам-пам-па
> sleep 60
> done
>
> Чтобы при падении он самоподнимался?
> Кто-нибудь пробовал такое?
>
> P.S. В 9 утра тачка перегружается, так что насильно прибивать процесс
> мне не грозит :D
Примерно год тому назад народ обменивался подобными скриптам.
Посмотрите в архивах рассылки.
--
Власенко Олег.
Отдел технической поддержки ALT Linux Team.
mailto:cornet@altlinux.ru
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [mdk-re] Rync over dial
2002-02-18 23:58 ` cornet
@ 2002-02-19 0:17 ` Aleksandr Blohin
2002-02-19 0:19 ` Aleksandr Blohin
1 sibling, 0 replies; 4+ messages in thread
From: Aleksandr Blohin @ 2002-02-19 0:17 UTC (permalink / raw)
To: mandrake-russian
On Tue, 19 Feb 2002 00:04:05 +0300
cornet <cornet@altlinux.ru> wrote:
C> Andrew Nazarkin wrote:
>>
>> Здравствуйте, MANDRAKE-RUSSIAN.
>> Подскажите, плиз:
>> Имеется выход в инет с 01 до 09. По крону запускается.
>> И через минуту запускается rsync, который синхронизирует каталог
>>RPMS
>> с сервера altlinux.ru.
>> Так вот, в случае какой-либо ошибки (разрыв связи и т.п.) rsync
>> рушится, и, сами понимаете, не поднимается. А время жалко - за ночь
>> скачивается 100-120Мб, и если rsync работает не всю ночь - то ой :(
>> Что будет, если написать какой-нибудь скрипт вроде этого:
>>
>> #!/bin/sh
>> while true
>> do
>> rsync трам-пам-па
>> sleep 60
>> done
>>
>> Чтобы при падении он самоподнимался?
>> Кто-нибудь пробовал такое?
>>
>> P.S. В 9 утра тачка перегружается, так что насильно прибивать процесс
>> мне не грозит :D
C> Примерно год тому назад народ обменивался подобными скриптам.
C> Посмотрите в архивах рассылки.
Вот!
1. cronrsync - запускается под обычным пользователем из cron
2. uprsync - какие каталоги скачивать
3. getrsync - сама оболочка для скачивания
В результате все то, что закачали, окажется в письме. Подправьте
cronrsync на
предмет перехода в нужный каталог. Все три файла должны лежать в одном
каталоге.
Для установки cron:
crontab
и там написал строку:
0 4 * * * /home/pif/work/cronsync
(C) Епифанов Сергей <serpiph@pochtamt.ru>
--
Best regards
AB
--
... In nomine Altli, et Ctrli, et Spititus Deli, Reset!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [mdk-re] Rync over dial
2002-02-18 23:58 ` cornet
2002-02-19 0:17 ` Aleksandr Blohin
@ 2002-02-19 0:19 ` Aleksandr Blohin
1 sibling, 0 replies; 4+ messages in thread
From: Aleksandr Blohin @ 2002-02-19 0:19 UTC (permalink / raw)
To: mandrake-russian
[-- Attachment #1: Type: text/plain, Size: 106 bytes --]
Сорри!
Файло забыл :)
--
Best regards
AB
--
... In nomine Altli, et Ctrli, et Spititus Deli, Reset!
[-- Attachment #2: getrsync --]
[-- Type: text/plain, Size: 3189 bytes --]
#!/usr/bin/perl
=head1 éÚÍÅÎÅÎÉÑ
ðÏÄ ÌÉÃÅÎÚÉÅÊ GPL v.2
13.08.2001 ÷ÅÒÓÉÑ 2.03
éÚÍÅÎÅÎÏ:
1. ÎÅÂÏÌØÛÉÅ ÎÅÄÏÞÅÔÙ × ÔÅËÓÔÅ
2. äÏÂÁ×ÌÅÎ ÐÁÒÁÍÅÔÒ -q (ÕÂÉÒÁÅÔ ÍÎÏÇÏ ÎÅÎÕÖÎÏÊ ÉÎÆÏÒÍÁÃÉÉ)
27.05.2001. ÷ÅÒÓÉÑ 2.02
éÚÍÅÎÅÎÏ:
1. ÉÚÍÅÎÅÎ ÒÅÖÉÍ ×Ù×ÏÄÁ ÎÁ ÜËÒÁÎ
31.03.2001. ÷ÅÒÓÉÑ 2.01
éÓÐÒÁ×ÌÅÎÏ:
1. ÂÁÇ Ó ×ÙÈÏÄÏÍ ÉÚ ÐÒÏÇÒÁÍÍÙ getrsync
2. ÂÁÇ ÚÁÐÕÓËÁ rsync É ÐÒÏ×ÅÒËÉ ÐÒÅÒÙ×ÁÎÉÑ ÐÒÏÇÒÁÍÍÙ rsync.
29.03.2001. ÷ÅÒÓÉÑ 2.00b
éÚÍÅÎÅÎÙ ÏÆÏÒÍÌÅÎÉÅ É ÒÅÖÉÍ ÚÁÐÕÓËÁ rsync.
4.03.2001. ÷ÅÒÓÉÑ 1.00
=cut
#ïÂÝÅÅ ÞÉÓÌÏ ÐÏÐÙÔÏË (0 - ÎÅÏÇÒÁÎÉÞÅÎÏ)
$MAX_TRIES=20;
#þÉÓÌÏ ÐÏ×ÔÏÒÏ× ÓËÁÞÉ×ÁÎÉÑ ÏÄÎÏÇÏ É ÔÏÇÏ ÖÅ ÆÁÊÌÁ
$MAX_1_TRIES=5;
#ôÅËÕÝÁÑ ÐÏÐÙÔËÁ
$cur_try=0;
$cur_1_try=1;
#óÁÊÔ ÄÌÑ ÓËÁÞÉ×ÁÎÉÑ - ÐÒÉÍÅÒ
$DownSite="www.altlinux.ru/MandrakeRE/Spring2001";
#ëÁÔÁÌÏÇ ÄÌÑ ÓËÁÞÉ×ÁÎÉÑ - ÐÒÉÍÅÒ
$DownDir="/var/ftp/pub/Sisyphus";
#óÐÅÃÉÁÌØÎÙÅ ÆÌÁÇÉ - îå ôòïçáôø
$RETVAL=1;
$WHOHANG=1;
$|=1;
$QUIET=0;
if (defined (@ARGV))
{
if ($ARGV[0] eq '-q')
{
shift @ARGV;
$QUIET=1;
}
$DownSite=$ARGV[0];
if (defined ($ARGV[1]))
{
$DownDir=$ARGV[1];
print $DownDir,"\n";
if (defined $ARGV[2])
{
$MAX_TRIES=$ARGV[2];
if (defined $ARGV[3])
{
$MAX_1_TRIES=$ARGV[3];
}
}
}
else
{
print "îÅÄÏÓÔÁÔÏÞÎÏ ÐÁÒÁÍÅÔÒÏ× - ÎÅÔ ËÁÔÁÌÏÇÁ!\n";
exit;
}
}
else
{
print "ðÒÏÇÒÁÍÍÁ ÓËÁÞÉ×ÁÎÉÑ ÞÅÒÅÚ rsync Ó ÎÅÓËÏÌØËÉÍÉ ÐÏÐÙÔËÁÍÉ É ÐÏ×ÔÏÒÁÍÉ.\n";
print "îÁÐÉÓÁÎÁ åÐÉÆÁÎÏ×ÙÍ óÅÒÇÅÅÍ, íéæé. ÷ÅÒÓÉÑ 2.02 ÏÔ 13.08.2001\n\n";
print "úÁÐÕÓË:\n";
print " getrsync - ÐÏÍÏÝØ\n";
print " getrsync [-q] ÓÁÊÔ ËÁÔÁÌÏÇ_ÓÏÈÒÁÎÅÎÉÑ [ÞÉÓÌÏ_ÐÏÐÙÔÏË [ÞÉÓÌÏ_ÐÏ×ÔÏÒÏ×]]\n";
print " -q - ÕÍÅÎØÛÉÔØ ×Ù×ÏÄ ÔÅËÓÔÁ\n\n";
print " ðÒÉÍÅÒ:\n";
print " getrsync www.altlinux.ru/MandrakeRE/Spring2001 /var/ftp/pub/Sisyphus\n\n";
exit;
}
unless ($QUIET)
{
print "ðÒÏÇÒÁÍÍÁ ÓËÁÞÉ×ÁÎÉÑ ÞÅÒÅÚ rsync Ó ÎÅÓËÏÌØËÉÍÉ ÐÏÐÙÔËÁÍÉ É ÐÏ×ÔÏÒÁÍÉ.\n";
print "îÁÐÉÓÁÎÁ åÐÉÆÁÎÏ×ÙÍ óÅÒÇÅÅÍ, íéæé. ÷ÅÒÓÉÑ 2.01 ÏÔ 31.03.2001\n\n";
}
#ïÓÎÏ×ÎÏÊ ÃÉËÌ ÓËÁÞÉ×ÁÎÉÑ
$DownSite="rsync://" . $DownSite;
while ($RETVAL)
{
#ðÒÏ×ÅÒËÁ ÞÉÓÌÁ ÐÏÐÙÔÏË
$cur_try++;
if ($cur_try>$MAX_TRIES && $MAX_TRIES>0)
{
print "îÅ È×ÁÔÁÅÔ ÐÏÐÙÔÏË ($MAX_TRIES) ÄÌÑ ÐÏÌÎÏÇÏ ÓËÁÞÉ×ÁÎÉÑ, ×ÙÈÏÖÕ.\n";
exit;
}
print "ðÏÐÙÔËÁ ÎÏÍÅÒ $cur_try\n" if $cur_1_try==1;
print "ðÏ×ÔÏÒ $cur_1_try ÐÏÐÙÔËÉ $cur_try\n" if $cur_1_try>1;
#úÁÐÕÓË ÓËÁÞÉ×ÁÎÉÑ
$OldMSG=$NewMSG;
$NewMSG="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
if ($QUIET)
{
$pid=open (OUTINFO,"rsync -av --partial --timeout=500 --delete-after '${DownSite}' '${DownDir}' |");
}
else
{
$pid=open (OUTINFO,"rsync -avP --timeout=500 --delete-after '${DownSite}' '${DownDir}' |");
}
if ($pid<1)
{
$NewMGS=$OldMSG;
goto skip;
}
while ($line=<OUTINFO>)
{
$NewMSG=$line;
print $line;
}
$res=waitpid ($pid,0);
$ExitStatus=$?;
close (OUTINFO);
if (!$ExitStatus)
{
print "÷ÓÅ ÓËÁÞÁÎÏ!\n";
exit;
}
skip:
if ($NewMSG eq $OldMSG)
{
$cur_try-- if $cur_1_try==1;
$cur_1_try++;
if ($cur_1_try>$MAX_1_TRIES)
{
print "éÓÞÅÒÐÁÎ ÌÉÍÉÔ ÐÏ×ÔÏÒÏ× ($MAX_1_TRIES)\n";
exit;
}
}
else
{
$cur_1_try=1;
}
}
[-- Attachment #3: uprsync --]
[-- Type: text/plain, Size: 571 bytes --]
#!/bin/sh
./getrsync -q www.altlinux.ru/ALTLinux/Sisyphus/ /var/ftp/pub/Sisyphus
./getrsync -q www.altlinux.ru/MandrakeRE/Spring2001/ /var/ftp/pub/Spring2001
./getrsync -q www.altlinux.ru/ALTLinux/updates/ /var/ftp/pub/updates
#./getrsync www.altlinux.ru/MandrakeRE/updates/ /var/ftp/pub/updates
./getrsync -q www.altlinux.ru/ALTLinux/Daedalus/ /var/ftp/pub/Daedalus
./getrsync -q www.altlinux.ru/ALTLinux/Castle/ /var/ftp/pub/Castle
./getrsync -q www.altlinux.ru/ALTLinux/ISO/ /var/ftp/pub/ISO
./getrsync -q www.altlinux.ru/ALTLinux/Junior-1.1/ /var/ftp/pub/Junior-1.1
[-- Attachment #4: cronsync --]
[-- Type: text/plain, Size: 41 bytes --]
#!/bin/bash
cd /home/pif/work
./uprsync
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-02-19 0:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-18 18:01 [mdk-re] Rync over dial Andrew Nazarkin
2002-02-18 23:58 ` cornet
2002-02-19 0:17 ` Aleksandr Blohin
2002-02-19 0:19 ` Aleksandr Blohin
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git