rtcwake cron не работает

Я собираюсь каждый вечер переводить компьютер в спящий режим, чтобы на следующее утро он снова проснулся. Я обнаружил, что rtcwake будет служить моей цели. Однако положить его в crontab ничего не дает. Ниже приведена моя запись в crontab для «root» пользователя

0 1 * * * rtcwake -m disk -s 25200

Я добавил ее, используя 'sudo crontab -e'. Системный журнал показывает, что он выполнил команду, но компьютер не спит. Если я запускаю команду на терминале напрямую, компьютер сразу же переводится в спящий режим, как и ожидалось. Поэтому я не думаю, что есть какие-либо проблемы с ACPI.

У кого-нибудь есть подсказка? Я нахожусь на Ubuntu 14.04

1
задан 19 July 2014 в 06:18

3 ответа

Хорошо, я думаю, что нашел решение. При добавлении sudo, прежде чем rtcwake решает проблему.

у меня теперь однако есть следующий вопрос: Почему crontab корня нужен sudo для выполнения команды. Разве это уже не работающий под корнем?

2
ответ дан 19 July 2014 в 06:18

Я знаю, что это - два года слишком поздно, но у меня была та же проблема, и хотят дать мое решение любому, у кого могла бы быть эта проблема в будущем.

Для пробуждения моей машины каждый день в 6:00 я настроил cronjob использование rtcwake. Моя проблема была, однако, что даже при том, что cronjob работал, он не поставил будильник. Я действительно редактировал пользователя root crontab с sudo crontab -e.

решение состояло в том, чтобы использовать полный путь rtcwake в crontab, не только команде. Чтобы сделать это, сначала используйте which rtcwake, который возвратит полный путь команды (в моем случае, который был /usr/sbin/rtcwake), и используйте это в cronjob.

Мой cronjob теперь похож на это: 0 12 * * * /usr/sbin/rtcwake -m no -t $(date +\%s -d 'tomorrow 0600')

 

Как примечание стороны, если Вы используете date как я, необходимо выйти из знака процента.

0
ответ дан 19 July 2014 в 17:18

Я сделал некоторое расследование на этом, если Ваш сделал "sudo crontab-e" с rtcwake в таблице без sudo, Вы получите сообщение об ошибке:

/home/leo/autojob: line 4: rtcwake: command not found

кажется, что, хотя "sudo crontab-e" выполняется в соответствии с корневой учетной записью, она не может найти правильный путь команды. Существует некоторое другое сообщение, говорит, что необходимо поместить ПУТЬ перед crontab и т.д., пока Вы помещаете sudo перед своей командой rtcwake, это кажется смочь найти команду снова.

# m h  dom mon dow   command
40 14 * * * sudo /home/leo/autojob >> /home/leo/cron_log 2>&1

вышеупомянутая конфигурация в sudo crontab теперь работает, "автозадание" является сценарием, содержит rtcwake.

1
ответ дан 19 July 2014 в 17:18

Другие вопросы по тегам:

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