Как сравнить даты двух файлов?

Нужен скрипт для обновления .gzip файлов на сервере.

Имеется массив с именами файлов:
FILES_SITE=(
style.css
scripts.js
sprites.svg
)


Нужно найти файл из массива и проверить существует ли для него файл gzip, с датой позднее самого файла. Если нет, то создать его.
for i in ${FILES_SITE[@]};do
    find /var/www/ -type f -name ${i} | while read -r path; do
        // gzip -c -9 "$i" > "$i.gz";
        // echo $path
    done
done
  • Вопрос задан
  • 65 просмотров
Решения вопроса 2
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Ну, я обычно беру дату файла, перевожу его в UTC, потом также беру дату второго файла - и тупо сравниваю
Вот кусок скрипта, которым я CRL на сервере обновляю
# Take last modification date of newly downloaded CRL file as UTC time
_newcrl=`date -r $storedir/$crlfile +%s`

# Take last modification date of stored CRL file as UTC time
_oldcrl=`date -r $cadir/$crlfile +%s`

# When CRL file is missed, install fake file with modification date Jan 1 1970 00:00
if [ ! -f $cadir/$crlfile ]; then
  touch -t 197001010000 $cadir/$crlfile
fi

# If file on CA store is never than file in their own store - we had have
# publish new CRL and must upload it to server
if [ $_newcrl -gt $_oldcrl ]; then
        [тут мы что-то делаем]
fi
Ответ написан
Комментировать
почитайте мануал команды test

man test | grep -B 4 older
       FILE1 -nt FILE2
              FILE1 is newer (modification date) than FILE2

       FILE1 -ot FILE2
              FILE1 is older than FILE2


кстати test то же что квадратная скобка [
man [
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы