У меня есть сервер Ubuntu 16.04, который я пытаюсь автоматически сделать сном и следом каждую ночь и утро.
Я добавил следующую команду к заданию крона, которое запускает без 5 минут полночь каждый день:
/usr/sbin/rtcwake -m mem -l -t $(date +\%s -d 'tomorrow 07:20')
(Я делаю его таким образом, потому что я хотел бы, чтобы задание было легко понятно - использование секунд - который работал - не так легко понятно.)
Это "работает", но перестало работать. Системный журнал сообщает что команда cron
испытанное выполнение:
/usr/sbin/rtcwake -m mem -l -t $(date +\
Другими словами, cron
кажется, усекает эту часть:
%s -d 'tomorrow 07:20')
Я должен упомянуть, что, когда я выполняю полную команду в окне терминала, она сразу помещает компьютер для сна (и она просыпается правильно следующим утром, также). Это только имеет проблему при выполнении как a cron
задание.
команда крона вводилась с помощью wemin
webmin заботится о специальных символах в командах крона, можно ввести их как в командную строку, никакая потребность выйти из них как Вы не должна делать при редактировании crontab непосредственно.
в этом случае % специального символа крона маскируется автоматически как \%. Вы вошли \% в webmin, который затем маскируется как \\%.
/usr/sbin/rtcwake мадам-m-l-t $ (дата + %s-d 'завтра 7:20')
должен работать в webmin и командной строке
BTW: \% на командной строке совпадает с %, это, почему Ваша команда работает в обеих версиях над командной строкой