Загрузите с помощью Wget, только если новая версия

Доброе утро, У меня есть специальное программное обеспечение, которое обновляется с помощью специального script.sh . Часть файла выглядит примерно так:

if [[ $software == A ]]
  then
    echo "downloading package..."
    rm -rf test.zip >> SoftwareUpdate.log
    wget --user admin --password "test" https://update.example.com/software/test.zip >> SoftwareUpdate.log
    if test -f test.zip
     then
       echo "Performing Backup of Old software"
       zip -r backup/test-$now.zip /var/www/html/* >> SoftwareUpdate.log
       echo "Clearing out old software from folder html"
       rm -rf software/* >> SoftwareUpdate.log
       echo "Unziping new software"
       unzip test.zip -d software  >> SoftwareUpdate.log
       echo "Overwriting / Applying update ..."
       yes | cp -rf software/* /var/www/html/ >> SoftwareUpdate.log
       echo "Changing permissions"
       chown -R www-data /var/www/html/* >> SoftwareUpdate.log
      else
       echo "test.zip doesn't exist, please insure that update is available and try again"
     fi

Я бы хотел иметь версии в файле имени, например: test_1239. zip или test_1531.zip Программа должна проверить, является ли версия, доступная для wget, более новой, чем последняя загруженная им, и продолжить, если это правда.

Итак, сценарий Если онлайн-версия = test_1531.zip и последняя загруженная версия = test_1239.zip 1531 больше 1239, продолжите загрузку и обновление. {{1 }} Спасибо

0
задан 26 May 2021 в 11:23
1 ответ

Сохраните содержимое заголовка «Last-Modified» из последнего загруженного файла test.zip и добавьте заголовок «If-Modified-Since» в свой следующий запрос wget, используя дату строка, которую вы получили.

Сервер ответит 304, если нет более свежего test.zip.

В качестве альтернативы вы можете оставить test.zip в текущем каталоге, а затем, используя wget с параметром отметки времени (-N), загрузит test.zip только в том случае, если на сервере установлена ​​более новая версия. Проверьте вывод wget, если он содержит «304 Not Modified» и «Omitting download», вы знаете, что можете пропустить контроль версий.

1
ответ дан 28 July 2021 в 14:06

Теги

Похожие вопросы