LINUX.ORG.RU
ФорумAdmin

zabbix сравнение даты

 , ,


0

2

Как сравнить модификацию файла с текущей датой (не по времени, а по дате)?

Сделал примерно это:

vfs.file.time[/etc/boot.txt,modify].last(0)}<{$DATE}
но {$DATE} - не поддерживается в тригерах:
Invalid expression [{13374}<{$DATE}]

★★

Последнее исправление: lioncub (всего исправлений: 1)

Может так

Так как элемент данных обновляется регулярно, то наверное имеет смысл сравнить текущее значение с предидущим и запустить триггер.

{vfs.file.time[/etc/boot.txt,modify].diff(0)}>0
Это выражение будет определено как ПРОБЛЕМА, когда предыдущее значение отличается от последнего значения.

12 Триггеры
19 Элементы данных

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от lioncub

Попробуй те так:

vfs.file.time[/etc/boot.txt,modify].last(0)}<{vfs.file.time[/etc/boot.txt,modify].date()}

Только возможно еще понадобится указать узел сети...

pyatak123
()
Ответ на: комментарий от pyatak123

ИМХО, так работать не будет, vfs.file.time возвращает

Unix timestamp

, а date

Возвращает текущую дату в формате ГГГГММДД

и скорее всего то, что перед date вообще лишнее.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)

в триггерах есть функция now(), которая тоже возвращает unix time, ее и надо использовать.

Что-то вроде: vfs.file.time[/etc/boot.txt,modify].last(0)} < (now() - 86400)

триггер сработает, если модификация прошла раньше, чем сутки назад.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

в триггерах есть функция now()

Ок, приму к сведению

petav ★★★★★
()
22 апреля 2014 г.
Ответ на: комментарий от lioncub

Вот так должно сработать: {vfs.file.time[/etc/boot.txt,modify].now(0)<86400

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.