Есть скрипт, который запускается вручную или по крону.
Есть директория со своей структурой внутри.
Скрипт должен выполнятся только если в этой директории появилось что-то новое или обновилось старое (файлы, папки).
Как элегантно можно такое решить?
Можно обойтись без создания и сравнения контрольных сумм?
Определить условие: если изменился любой файл
Модераторы: /dev/random, Модераторы разделов
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
- Bizdelnick
- Модератор
- Сообщения: 20795
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Определить условие: если изменился любой файл
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
Re: Определить условие: если изменился любой файл
Сначала тоже хотел предложить, но при запуске "вручную или по крону" эта команда малопригодна.
- Bizdelnick
- Модератор
- Сообщения: 20795
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Определить условие: если изменился любой файл
Ну если использование cron - обязательное условие, то да, не пойдёт. Но с её помощью можно прекрасно обходиться без cron.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Определить условие: если изменился любой файл
смотрите mtime.
тоже mtime, но придётся весь список хранить в общем случае. Хотя -- смотря как будете обновлять. Обычно (не не всегда!) в *nix создаётся временный файл, туда пишется новое содержимое, а потом временный файл заменяет старый(часто старый не удаляется, а переименовывается для надёжности). Если всё так, то mtime каталога тоже меняется.
узнать время можно так:
$
stat . -c%Y