Назад | Перейти на главную страницу

Есть ли разархивированный кеш?

На моем сервере у меня есть скрипт, который запускается (используя cronjob) каждую полночь и загружает zip-архив, содержащий файл csv с URL-адреса. Файл csv обновляется ежедневно. Вот мой (простой) сценарий:

#!/usr/bin/env bash
rm -f /home/croaz/public_html/tmp/flatfile_rom_air.*

wget --no-cache --user user_name --password password     http://www.url.com/DownloadArea/ROM/flatfile_rom_air.zip -P /home/croaz/public_html/tmp/ && unzip flatfile_rom_air.zip -d /home/croaz/public_html/tmp/ 

Однако я веду себя очень странно. Хотя zip-пакет содержит обновленный файл csv, распакованный файл (csv) такой же, как и при первом запуске сценария (пару месяцев назад). Он ведет себя так, как если бы при распаковке использовалась кешированная копия файла csv. Если я загружу zip-архив со своего сервера на локальный компьютер и разархивирую его там, все будет работать, как должно (я получаю обновленный файл). Что мне не хватает?

Вы действительно заглядывали в каталог, чтобы увидеть, что там?

По умолчанию, wget не будет перезаписывать существующие файлы, а вместо этого добавит число к имени (index.html.1 и т.д.), поэтому ваш сценарий просто использует старый файл снова и снова. Использовать -O возможность указать имя вывода и предотвратить это.

Вы проверили, что у пользователя, запускающего задание cron, есть права на запись в каталог / файлы, чтобы rm и wget может реально удалить / записать файлы?