Рейтинг:0

cronjob не останавливает postgres

флаг es

Я использую Ubuntu 18.04 Я использую Postgres, поставляемый с apt.

Я написал простой bash-скрипт для остановки базы данных.

#!/бин/баш -х

/etc/init.d/postgresql остановить

При запуске этого сценария в cronjob, принадлежащем пользователю root, он не останавливает базу данных.

Когда я выполнил скрипт вручную в командной строке, он работал, как и ожидалось. Селинукс не включен.

Затем я передал STDOUT в файл

59 11 * * * /etc/init.d/x.sh >> /var/log/pgsql_tmp.log 2>&1

Единственный выход такой.

+ /etc/init.d/postgresql остановить
Romeo Ninov avatar
флаг in
Перенаправьте STDOUT в файл и покажите нам результат.
Рейтинг:-1
флаг es

Я изменил сценарий, чтобы использовать

служба postgresql остановить

и я смог получить больше STDOUT

+ /usr/sbin/service postgresql остановить
/usr/sbin/service: 169: /usr/sbin/service: systemctl: не найден
/usr/sbin/service: 182: /usr/sbin/service: sed: не найден
/usr/sbin/service: 187: exec: systemctl: не найдено

Например, чтобы исправить,

/usr/sbin/service: 169: /usr/sbin/service: systemctl: не найден

Я открыл /usr/sbin/service с помощью vim в строке 169.

169 если ! systemctl --quiet is-active multi-user.target

и вставил весь путь

169 если ! /bin/systemctl --quiet is-active multi-user.target

Я сделал это и для других, теперь cron работает.

user9517 avatar
флаг cn
Разве не было бы предпочтительнее обновить PATH в вашем файле crontab? Тогда вам не придется беспокоиться о том, что обновленные данные перезапишут ваши изменения.
BioRod avatar
флаг es
хорошая мысль @user9517

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.