вот более общий вопрос.
как я могу отслеживать файл журнала для конкретных изменений и использовать оповещение" уведомлять-отправлять " в Ubuntu, чтобы предупредить, когда происходят указанные изменения?
ОРИГИНАЛЬНЫЙ ВОПРОС:
Я пытаюсь настроить квоты печати для принтеров в офисе.
Тем не менее, он появляется, когда квота исчерпана, то печатать просто не получается
молча, и пользователь понятия не имеет, что происходит.квота страницы устанавливается путем изменения директивы PageLimit в
/ etc / cups / printers.confпохоже, я получаю сообщение
E [04 / Mar/2013:15:34:28 -0700] возврат клиента IPP-ошибка-невозможно
для создания задания
(протокол IPP://имя localhost:631/принтеры/Хьюлетт-Паккард НР-принтер-4100-МФУ)
с localhostв моем журнале в /var/log/cups / error_log .
Я пытался взломать что-то вместе через команду
`tail -f /var/log/cups/error_log | grep 'client-error-not-possible for Create-Job' DISPLAY=:0 notify-send -t 30000 -i 'notification-message-email' 'Printing Quota reached for this Printer'`
но это, кажется, на самом деле не работает, как он только отображает сообщение
один раз на первое сообщение об ошибке.какие-то мысли или решения? Это действительно кажется, что должно быть
обожженных решение для этого.
решение
incrontab работал отлично.
sudo apt-get install incrontab
Добавить пользователя root в /etc/incron.allow
sudo nano /etc/incron.allow
создать скрипт monitorCUPSlog.sh
#!/bin/bash
tail -n 1 /var/log/cups/error_log | grep 'client-error-not-possible' | DISPLAY=:0 notify-send -t 30000 -i 'notification-message-email' 'Daily Print Quota exceeded for this printer'
и, наконец, добавьте событие в таблицу incrontab
sudo incrontab -e
/var/log/cups/error_log IN_MODIFY /usr/local/bin/monitorCUPSlog.sh
кажется, работает.