У мене є цей набір кронових завдань:
* * * * * /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або щось, щоб зафіксувати будь-які помилки, які ви могли отримати. Нарешті, розкажіть, який користувач працює під цим кронтом.