UPD: доступна новая версия скрипта.
1. Предыдущая версия файла versioninfo.ini не переименовывается, а копируется.
Недоработка была в том, что изредка по каким-то причинам скачать versioninfo с сервера Comodo не получалось, а старый файл переименовывался. В результате скрипт начинад чудить и выкачивать все имеющиеся у comodo обновления, что вместо экономии трафика, создавало перерасход. Теперь старый файл остается на своем месте.
2. Добавлена проверка успешности скачивания файла versioninfo программой wget.
Причина та же, что и в 1.
3. Wget теперь качает с ключом -nc.
Данный ключ позволяет не качать то, что уже было скачано. Из-за вышеупомянутой ошибки скрипт многократно выкачал все имеющиеся обновления comodo. Причем wget качал, не смотря на уже имеющиеся файлы.
Теперь, если скрипте есть еще ошибки, wget не будет выкачивать уже имеющиеся обновления.
4. Сообщения о скачанных файлах теперь заносятся в файл report.
Конечно же, скрипт запускается из cron и никто не видит, что же там происходит. А так есть журнал его работы.
#!/bin/bash COMODO=/var/www/comodo if [ -f $COMODO/av/updates50/versioninfo.ini ]; then cp -f $COMODO/av/updates50/versioninfo.ini{,.prev} fi cd $COMODO/av/updates50/ wget -N http://downloads.comodo.com/av/updates50/versioninfo.ini && ( BASE=$(grep MaxBase $COMODO/av/updates50/versioninfo.ini| grep -oE '[0-9]+') if [ ! -e $COMODO/av/updates50/sigs/bases/BASE_END_USER_v$BASE.cav ]; then cd $COMODO/av/updates50/sigs/bases wget -nc http://download.comodo.com/av/updates50/sigs/bases/BASE_END_USER_v$BASE.cav && echo "$(date +'%Y.%m.%d %H:%M') Получена база N$BASE">>$COMODO/report fi let OLD_UPDATE=$(grep MaxAvail $COMODO/av/updates50/versioninfo.ini.prev| grep -oE '[0-9]+')+1 if [ $BASE -gt $OLD_UPDATE ]; then let OLD_UPDATE=$BASE+1 fi NEW_UPDATE=$(grep MaxAvail $COMODO/av/updates50/versioninfo.ini| grep -oE '[0-9]+') echo Debug: $(date +'%Y.%m.%d %H:%M') $OLD_UPDATE:$NEW_UPDATE>>$COMODO/report cd $COMODO/av/updates50/sigs/updates for i in $(seq $OLD_UPDATE $NEW_UPDATE); do echo Wget debug $(date +'%Y.%m.%d %H:%M') $OLD_UPDATE $NEW_UPDATE >>$COMODO/report wget -nc http://downloads.comodo.com/av/updates50/sigs/updates/BASE_UPD_END_USER_v$i.cav && echo "$(date +'%Y.%m.%d %H:%M') Полученно обновление N$i">>$COMODO/report done ) || echo "Скачать versioninfo.ini не удалось">>$COMODO/report
Комментариев нет:
Отправить комментарий