Мне нужна cronjob с критериями включения/выключения телевизора на основе:
С понедельника по пятницу включение экрана в 07.00 и выключение экрана в 17.00. В пятницу после 17.00 до утра понедельника экран должен быть выключен.
Я использую его xset
для принудительного включения/выключения dpms.
DISPLAY=:0 xset dpms force off
(выключает телевизор)
DISPLAY=:0 xset dpms force on && DISPLAY=:0 xset s reset
(включает телевизор)
xset: /usr/bin/xset
решение1
Ну, для начала я бы перенес вашу логику включения/выключения в скрипты:
Содержание /usr/local/bin/tv-turnon
:
#!/bin/bash
DISPLAY=:0 xset dpms force on && DISPLAY=:0 xset s reset
Содержание /usr/local/bin/tv-turnoff
:
#!/bin/bash
DISPLAY=:0 xset dpms force off
Сделайте их работоспособными
chmod +x /usr/local/bin/tv-turnon
chmod +x /usr/local/bin/tv-turnoff
А затем настройте cron для их запуска по вашему расписанию.crontab -e
0 7 * * 1-5 /usr/local/bin/tv-turnon
0 17 * * 1-5 /usr/local/bin/tv-turnoff
(это будет выполнено vi
по умолчанию, если вы не знакомы i
с тем, как начать вставлять текст :wq
, чтобы сохранить и выйти)
решение2
00 17 * * 1-5 DISPLAY=:0 xset dpms force off
00 07 * * 1-5 DISPLAY=:0 xset dpms force on && DISPLAY=:0 xset s reset
решение3
Вам необходимо добавить следующие записи в файл crontab:
0 7 * * 1-5 DISPLAY=:0 xset dpms force on && xset s reset
0 17 * * 1-5 DISPLAY=:0 xset dpms force off
Чтобы добавить новую запись в файл crontab, используйте следующую команду:
crontab -e
Больше о:http://en.wikipedia.org/wiki/Cron