Кажется, что так и должно быть:
Из журнала изменений selinux-policy-3.12.1-139:
- Разрешить ввод systemd_cronjob_t через, bin_t
Do у вас есть какие-либо ошибки в /var/log/audit/audit.log
, относящиеся к mariadb
? Быстрая и простая проверка состоит в том, чтобы setenforce = 0
и запустить задания cron
. Если им лучше, то это был SELinux, вызвавший проблему.
-121--230623-
Если в системе имеется systemd, для этого можно использовать события таймеров. Просто определите новую службу , которая должна содержать команду/задачу, которую необходимо выполнить, а затем создайте событие таймера с параметром OnUnitActiveSec
:
[Unit]
Description=daily + 1 hour task
[Timer]
OnUnitActiveSec=25h # run 25 hours after service was last started
AccuracySec=10min
[Install]
WantedBy=timers.target
Используйте то же имя для файлов, за исключением того, что вместо .service
используется .timer
.
Синтез:
job.service
в каталоге /etc/systemd/system/
. systemctl status job.service
. job.timer
в /etc/systemd/system/
. Заполните его необходимой информацией:
[Единица измерения]
Описание = ежедневная + 1 часовая задача
[Таймер]
OnUnitActiveSec = 25h # запуск через 25 часов после последнего запуска службы
Рс = 10мин
[Установить]
PaydBy = timers.target
systemctl list-timers
-121--26842-
Использование массивов или петель в оболочках часто является признаком плохой практики кодирования. Оболочка - это инструмент для выполнения других команд. awk
- типичная команда для выполнения сложных задач с полями в текстовых записях. Вы хотите вызвать awk
один раз для вашей задачи, а не цикл, где вы собираетесь выполнить сотни команд.
Если требуется напечатать индекс и фамилию поля для строк, начинающихся с ^ LogFormat
, это:
awk '/^LogFormat/{print n++, $NF}' httpd.conf
No need for cat
(который предназначен для конкатенации), или grep
( awk
является супернабором grep
), либо массив оболочки или цикл оболочки.
Я использовал логгер вместо /dev/kmsg
, который также записывает в /var/log/syslog
Surround your upstart pre, post and start scripts like this :
pre-start script
{
echo starting program
# run my program here
npm install
node app.js
} 2>&1 | logger -t app
end script
Вы должны начать видеть, как журналы вашего приложения появляются в syslog
tail -f /var/log/syslog