On Fri, May 13, 2005 at 04:41:10PM +0400, Roman V. Tutov wrote: > Кинулся поднимать почту из архива и обнаружил кучу > битых .gz архивов . Возможно-ли их как-нить починить ? Похоже, в gunzip нет средств для восстановления архивов - придётся чем-то разбивать такой архив на отдельные куски (по сигнатуре в начале архива) и искать среди них целые. > Почта бэкапиться конструкцией > /etc/procmailrc > | gzip >>$FOLDERTOARCHIVE/${EARFOLDER}/${MONTHFOLDER}/`date +%y-%m-%d`_aston_all.gz > MAILDIR=/var/spool/mail > MONTHFOLDER=`date +%y-%m` > FOLDERTOARCHIVE=/mnt/arhive/mail > EARFOLDER=`date +%y` > :0 ic > * ? test ! -d $EARFOLDER > | mkdir /$FOLDERTOARCHIVE/$EARFOLDER > :0 ic > * ? test ! -d $MONTHFOLDER > | mkdir /$FOLDERTOARCHIVE/$EARFOLDER/$MONTHFOLDER > :0 Видимо, в конец этой строки следовало добавить "w:": - ":" - использовать блокировки для предотвращения одновременного запуска нескольких процессов; - "w" - дождаться завершения запущенных процессов (по умолчанию procmail считает, что обработка письма завершена, когда все данные переданы в pipe, что в данном случае неверно - после чтения всех входных данных пройдёт ещё некоторое время, прежде чем gzip закончит запись выходного файла, и в это время нельзя запускать другой аналогичный процесс). В результате отсутствия этих флагов могло запуститься несколько экземпляров gzip, пишущих в один файл. > * backup@aston.ru > * !spam@aston.ru > * !ham@aston.ru > | gzip >>$FOLDERTOARCHIVE/${EARFOLDER}/${MONTHFOLDER}/`date +%y-%m-%d`_aston_all.gz > > Может сама идея кривая ?