ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Vladimir Karpinsky <vkarpinsky@mail.ru>
To: ALT Linux Community general discussions <community@lists.altlinux.org>
Subject: Re: [Comm] Зеркалирование по расписанию.
Date: Sun, 22 Mar 2009 21:51:40 +0300
Message-ID: <49C688BC.3090200@mail.ru> (raw)
In-Reply-To: <49C66977.6050109@kalina.in.ua>

Yura Kalinichenko пишет:
>> Насколько я понял, --- понял ещё не всё, разбираюсь, --- это не совсем 
>> то. У меня проблема такая: по крону раз в 15 минут запускается скрипт, 
>> пытающийся достучаться до удалённого ресурса и скачать оттуда данные. 
>> Связь, даже когда она есть, терпимая, хуже другое: 20 часов из 24 нет 
>> там нет электричества. Скрипт без связи отваливается, лок-файл 
>> удаляется, всё хорошо. Мне надо отследить момент, когда связь есть, и 
>> уже происходит перекачка данных, а тут подходит время следующего 
>> запуска скрипта: возможны разные неприятности при одновременной 
>> закачке, поэтому повторный скрипт должен обнаружить блокировку и 
>> просто отвалится, не трогая её.
> Так это и происходит, когда используете для блокировки функцию 
> test_lock. Плюс проверяется - существует ли еще процесс, создавший 
> блокировку, и если нет (напр. был убит по kill -9) - блокировка 
> перехватывается.

Я  прошу прощения, а что такое kill -0? kill -l про сигнал 0 молчит... Я до 
конца не понимаю смысл цикла until: ставится запрет на перезапись 
существующего файла и дальше зацикливаемся в попытке его перезаписать. 
Далее, если kill -0 успешен, то удалять лок-файл не надо, ждём, что он 
процессе счёта до 10 сам уйдёт (?) или мы его убьём в следующей итерации 
until. Что-то я запутался, пните, пожалуйста, в нужном направлении.

>> А если произойдёт штатный выход или kill -9, то блокировку надо снять, 
>> чтобы разрешить следующий запуск. kill -9 нужен на тот случай, когда 
>> связь разрывается в процессе закачки и скрипт подвисает (wget не 
>> отваливается). Для отработки такого случая, я убиваю соответствующий 
>> pid, в том случае, когда блокировка есть, а связи нет.
> IMHO, логичнее заставить wget отваливаться при разрыве связи (--timeout 
> ?). Убивать чужой процесс - как-то некрасиво.

Полностью согласен, но мои эксперименты с выдёргиванием сетевого шнура из 
компьютера, с котрого уже качает wget, показал, что wget не отваливается, 
несмотря на наличие таймаутов. Если переход на rsync окажется удачным, то 
там это не понадобится. Но я уже вижу, что можно реализовать то, что я хочу 
путём анализа перезаписи лок-файла при наличии запрета на перезапись в 
сочетании с успешностью работы ping.


-- 
	С уважением,
		Владимир.


  reply	other threads:[~2009-03-22 18:51 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-10  9:34 Vladimir Karpinsky
2008-12-10  9:53 ` Yuri Bushmelev
2008-12-10  9:56 ` Alexey Borovskoy
2008-12-10 10:43   ` Vladimir Karpinsky
2008-12-10 13:16     ` Alexey Borovskoy
2008-12-10 15:18       ` Vladimir Karpinsky
2009-03-21 20:27   ` Vladimir Karpinsky
2009-03-21 21:57     ` Yura Kalinichenko
2009-03-22  6:51       ` Vladimir Karpinsky
2009-03-22 16:38         ` Yura Kalinichenko
2009-03-22 18:51           ` Vladimir Karpinsky [this message]
2009-03-22 19:53             ` Yura Kalinichenko
2009-03-23  6:55               ` Vladimir Karpinsky
2009-03-23  7:20                 ` Andrey Rahmatullin
2009-03-25 19:29       ` Vladimir Karpinsky
2009-03-25 19:32         ` Andrey Rahmatullin
2009-03-25 19:52           ` Vladimir Karpinsky
2009-03-25 21:42         ` Yura Kalinichenko
2009-03-26  5:50           ` Vladimir Karpinsky
2009-03-26 10:06           ` Sergey Vlasov
2009-03-26 18:21             ` Yura Kalinichenko
2008-12-10 17:00 ` Vladimir Karpinsky
2008-12-10 17:18   ` Denis Nazarov
2008-12-10 17:36     ` Vladimir Karpinsky
2008-12-10 19:24   ` Sergey Vlasov
2008-12-11  5:40     ` Vladimir Karpinsky
2008-12-13 12:19 ` Vladimir Karpinsky
2008-12-13 13:28   ` Костарев Алексей
2008-12-13 15:53     ` Vladimir Karpinsky
2008-12-14 17:37       ` Michael Shigorin
2008-12-14 18:49         ` Vladimir Karpinsky
2008-12-15  7:33           ` Костарев Алексей
2008-12-15  7:58             ` Vladimir Karpinsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49C688BC.3090200@mail.ru \
    --to=vkarpinsky@mail.ru \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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