Как отслеживать сценарии обслуживания Cron?

Вы можете использовать опцию job-page-limit вместе с опцией -U username команды конфигурации печати lpadmin .

Из справочной страницы:

-o job-page-limit=value
Sets the page limit for per-user quotas. 
The value is the integer number of pages that can be printed; 
double-sided pages are counted as two pages.

Чтобы установить этот дневной лимит, вы можете использовать job-quota-period :

-o job-quota-period=value
Sets the accounting period for per-user quotas. 
The value is an integer number of seconds; 86,400 seconds are in one day.
0
27.12.2018, 12:34
1 ответ

Я реализовал следующее:

  • Включен вывод на стандартный вывод для различных шагов или добавлен пользовательский вывод, например. :
    • echo "Запуск резервного копирования..."
    • rsync what && echo "Резервное копирование выполнено успешно" || echo "Сбой резервного копирования"
  • Проверка кодов возврата каждого шага сценария, либо немедленный выход из под-сценария, либо продолжение с возвратом кода ошибки в конце сценария
  • написал оболочку для моего сценария обслуживания, которая перенаправляет все выходные данные в файл журнала, и если в сценарии обслуживания есть какие-либо ошибки, я получаю письмо.

Пример сценария обслуживания (не завершается, если прерывается какой-либо отдельный шаг, но в конце возвращает ошибку):

#!/bin/bash

RETURNCODE=0

echo "Execution started $(date)"

/root/do_something.sh || RETURNCODE=1

# (...)

exit $RETURNCODE

Пример скрипта-оболочки, который вызывает другой скрипт, этот сейчас в моем crontab:

#!/bin/bash

# exit on any error (there should not be any in this script)
set -e

LOGFILE="/var/log/my.log"

# redirect STDOUT and STDERR to logfile...
if /root/maintenance.sh > $LOGFILE 2>&1; then
    # the colon ":" means: do nothing
    :
else
    # on error, send me an email
    mail -s "maintenance script failed" email@address.com < "$LOGFILE"
fi
0
28.01.2020, 04:06

Теги

Похожие вопросы