Задать вопрос
@m5xim

Почему команда не срабатывает в cron?

Добрый день.
Есть ubuntu 20.04, в кронтаб рута (sudo crontab -e) добавил :
@reboot echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold

При перезагрузке команда срабатывает (добавлял тестовый вывод в файл), но изменения не применяются.
Если выполнить команду в терминале вручную
echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
то изменения будут применены. Странно, но помню что такое замечал и с другими командами, возможно во время '@reboot' хука система не полностью инициализирована, или что-то в этом роде. Кто сталкивался с подобным, подскажите причины

UPD: После переноса в /etc/rc.local (файла по дефолту не было, кому надо погуглите) заработало, правда у GUI после включения системы бывает задержка, минуты 2 еще показывает заряд, а потом только обновляется (если проверить через терминал то значение устанавливает сразу)
  • Вопрос задан
  • 1443 просмотра
Подписаться 2 Средний 2 комментария
Решения вопроса 1
@vitaly_il1
DevOps Consulting
возможно во время '@reboot' хука система не полностью инициализирована,

Я думаю в этом причина.
Запускайте в rc.local.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
В кроне нет PATH.
Пропишите полные пути к любой команде, которая у вас "а вручную выполняется".
Ответ написан
smorman
@smorman
When In Rome do as The Romans do...
Потому что надо обязательно перезагрузить Cron:
sudo /etc/init.d/cron restart
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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