У мене є цей набір кронових завдань:
* * * * * /usr/bin/systemctl suspend
І це не працює. Але я можу запустити його в оболонці, і це працює. Я не розумію, що може не працювати.
EDIT
Перенаправлення помилки виводу для отримання /tmp/error
цього:
Failed to issue method call: Access denied
Failed to issue method call: Access denied
Моє запитання тоді: чи виконується cronjobs як спеціальний користувач ( cron
наприклад), який би пояснив, що мій користувач може виконувати команду, але не cron
сам?
Додаткове пояснення:
Це мінімальний приклад, щоб показати проблему, яку я маю в сценарії (це має більше сенсу, ніж окрема команда, надана тут)
systemctl
є частиноюsystemd
. Я думаю, що перезавантаження, вимкнення, призупинення працюють з користувачем, який не працює в кореніsystemd
. У будь-якому випадку, це працює в моїй системі.Нарешті, я використовую Arch Linux і
/bin
,/usr/sbin
,/sbin
все символічні посилання на/usr/bin
.
systemctl
є, /usr/bin
і це приймає suspend
так? Який * nix ви використовуєте?
systemctl suspend
не працює на Debian або RedHat дистрибутивах) і тому пояснює, що ви насправді не хочете робити те, що показуєте :). Крім того, спробуйте додати 2> /tmp/error
або щось, щоб зафіксувати будь-які помилки, які ви могли отримати. Нарешті, розкажіть, який користувач працює під цим кронтом.