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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Eugene B. Berdnikov                  2:5020/400     17 Jan 2005  17:03:07
 To : Igor Nikolaev
 Subject : Re: ftpmirror vs mirrordir
 -------------------------------------------------------------------------------- 
 
 Igor Nikolaev <Igor.Nikolaev@f266.n5030.z2.fidonet.org> wrote:
 
 IN> Eugene B. Berdnikov <berd@desert.ihep.su> wrote:
 >> IN> К примеру я не понял, какие у lftp коды завершения,
 >>   exit  will exit from lftp or move to background if jobs are active.
 >>   If no jobs are active, code is passed to operating system as lftp's
 >>   termination status. If code is omitted, the exit code of last command
 >>   is used.
 IN> 
 IN> Что замечательня команда exit делает кроме того что ничего
 IN> не делает я понимаю. Только вот где собственно список этих
 IN> самых "termination status"?
 
  Хм, а зачем? Очень надо отделить ETIMEDOUT от EPIPE?
  Hу тогда, наверное, совершенно другой инструмент надо искать.
  А так всё более-менее понятно на уровне детализации 0/1.
  Всё равно ведь операций целой арифметики нет, только || да &&.
 
 IN> Стандартное занятие: сделать mirror и если всё хорошо то
 IN> сделать update. Если обломались подождать немного и снова
 IN> попытаться сделать mirror. Если всё плохо то громко выругаться.
 
  По-моему, всегда надо быть готовым к тому, что какой-нибудь INDEX.gz
  на зеркале окажется устаревшим за то время, пока идёт зеркалирование,
  а нужный файл либо будет отсутствовать, либо окажется недокачанным
  (например, потому, что его кто-то прямо на сервер заливал по ftp:).
 
  Если же такие ситуации недопустимы, надо менять технологию - смотреть
  в сторону rsync, cvs, etc, вплоть до транзакций. И контроль целостности
  дерева делать.
 
  Боевое зеркало софта (то, с которого юзеры прямо запускают бинарники)
  я делаю именно rsync'ом. В общем, работает - при существующей на источнике
  дисциплине деления софта на old/pro/new. Юзеры понимают, что в new
  появление всех либ в первый же день никто не гарантирует, так что жалоб
  ни разу не было.
 
 >> IN> что является разделителем команд при задании их через
 >> IN> `lftp -e`,
 >>  Символ ";" - как во всех примерах.
 IN> 
 IN> Я бы предпочёл иметь *документированный* метод.
 
  man lftp:
        lftp  has shell-like command syntax allowing you to launch
        several commands in parallel in background (&). It is also
        possible  to  group commands within () and execute them in
        background. All background jobs are executed in  the  same
        single  process.  You  can bring a foreground job to back-
        ground with ^Z (c-z) and back with command `wait' (or `fg'
        which  is alias to `wait'). To list running jobs, use com-
        mand `jobs'. Some commands allow redirecting their  output
        (cat,  ls,  ...)  to file or via pipe to external command.
        Commands can be executed conditionally based  on  termina-
        tion status of previous command (&&, ||).
 
  Конечно, не SUSv3, и даже не man zsh, но мне хватает...
 
 >> IN> почему при `lftp -e mirror $url` я получаю
 >> IN> всё в текущем каталоге
 >>  Странно, а я в разных - точно как на сервере.
 IN>   cut/paste:
 
  lftp-3.0.13 - полёт нормальный.
 
 IN> Характерно что документацию к lftp писал вовсе не автор :-)
 
  Угу, я заметил.
 
 IN> Зачем? lftp это хорошая *диалоговая* программа. Просто для 
 IN> скриптения она не очень подходит. Hу и ладно.
 
  ОК, принято. Спасибо за развёрнутые комментарии.
 -- 
  Eugene Berdnikov
 --- ifmail v.2.15dev5.3
  * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: ftpmirror vs mirrordir   Eugene B. Berdnikov   17 Jan 2005 17:03:07 
Архивное /ru.linux/365193f36c5c.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional