Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Sergey Terentiev                     2:5030/861.1   04 Jun 2005  00:18:09
 To : All
 Subject : скрипт для wget
 -------------------------------------------------------------------------------- 
 
 Пытаюсь прикрутить wget для автономной скачки файлов с инета в заданное время.
 Сейчас это сделано так:
 1. По крону запускается скрипт ppp-on, который дозванивается до провайдера, и
 запускает wget с ключами -c -i files.url
 2. Раз в 10 минут по крону запускается скрипт, который проверяет наличие
 соединения, и если его нет, то запускает скрипт из п. 1
 3. По крону запускается скрипт который в заданное время запускает ppp-down
 и killall wget
 
 Собственно проблемы:
 1. Hесмотря на наличие ключа -c часто большие файлы получаются битыми. Когда
 образ тянется неделю, а потом оказывается битым, довольно обидно.
 2. Hеобходимость контролировать: докачались ли все файлы? Hе пора ли убирать из 
 крона запуск всей этой лабуды? Если файлов много, а скачались не все, из списка 
 файлов надо убрать скачанные. Короче лишние действия руками.
 
 Пока решаю проблему ь1, т.к. она более важная.
 Единственное что придумал - wget'у плохеет от того, что я его убиваю без
 предупреждения (killall wget) и поэтому файл получается битый. Это правда только
 мое предположение.
 Как вариант - посылать wget'у сигнал STOP
 Попробовал так:
 
 kill -STOP `ps -aux|grep wget|/usr/bin/perl -ne
 'if(~/.*grep.*/ig){exit}$_=~/^.*?\b(\d+)\b.*/ig;if($1>0){print
 "$1\n";}else{print "xyz\n";};'` 2>/dev/null
 
 Проверка на наличие grep связана с тем, что вывод ps -aux|grep wget у меня
 обычно такой (с этим можно как-то бороться?):
 sst       4828  0.0  1.9  7316 1840 pts/0    T    23:22   0:00 wget -m -r
 http://rallyfan.ru
 sst       5640  0.0  0.6  4596  648 pts/4    S    23:31   0:00 grep wget
 Вроде работает, но как-то странно. В одной консоли запускают wget, в другой
 руками kill -STOP proc_id (подсмотренный из ps). wget моментально
 останавливается.
 Пробую тоже самое делать скриптом. Скрипт "подвисает" секунд на 10, после чего
 wget останавливается. Из-за чего такая задержка?
 
 И вообще, мое решение начинает казаться кривоватым. Hаверняка уже кто-то решал
 эту проблему - поиск и останов процесса в заданное время и поик и оживление
 остановленного процесса в более другое время.
 Впринципе решение должно быть универсальным, не зависящим от количества
 процессов. Сейчас у меня 1 wget, а потом может и 10 висеть.
 Проблему ь2 пока только обдумываю. Поскольку работаю на виндовой машине, а на
 линукс хожу по ssh, то список файлов для скачивания думаю удобно будет хранить в
 mysql базе (mysql и apache на линуксе запущены), чтобы файлы в очередь можно
 было добавлять через веб интерфейс.
 Правда не придумал пока как определять, что файл докачался, чтобы убрать из
 очереди. Если подскажете хорошее решение буду благодарен =)
 
 Вообщем буду благодарен всем советам и ссылкам на почитать.
 
     /#ЬЬЬЬЬ#/
 --- _*ЯЯЯЯЯ*_ *[www.rallyfan.ru]*
  * Origin: Бог подаст , бpатва отнимет ! (2:5030/861.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 скрипт для wget   Sergey Terentiev   04 Jun 2005 00:18:09 
 Re: скрипт для wget   Konstantin Tokar   07 Jun 2005 13:12:37 
 скрипт для wget   Andrew Vetlugin   07 Jun 2005 20:45:02 
Архивное /ru.linux/329842a0bb08.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional