Подтвердить что ты не робот

Cron boot script только в определенное время дня

Итак, у меня есть набор скриптов, которые используются для управления моим приемником и телевизором во время определенных событий, таких как загрузка, заставка и дистанционное управление. Один из них выполняется во время входа в систему, но дело в том, что я не хочу, чтобы он запускал script, когда машина должна была активироваться. У меня есть логика, чтобы игнорировать события, если blanked = 0 во время запуска загрузочных приложений, поэтому он не отправит ir во время загрузки или выключения. Как я могу это сделать, используя cron? Я выбираю cron, потому что эти события происходят до запуска приложений. Крон потрясающий, но насколько я понимаю, я могу работать только при загрузке или по расписанию не для обоих. Мне нужно script переменную времени, но я не уверен, как это сделать.

syson.sh(вызывается во время входа в систему как приложение для запуска и изменения состояния экрана)

#!/bin/sh
cd /home/gilson585/
blanked=`cat blanked`
if [ $blanked -eq 0 ] ; then
    blanked=1;echo $blanked > blanked
else
    irsend SEND_ONCE VR4085DF KEY_POWER;irsend SEND_ONCE Kenwood_RC-R0813 power;blanked=0;echo $blanked > blanked
    sleep 1
    irsend SEND_ONCE Kenwood_RC-R0813 cd/dvd
fi

sysoff.sh(вызванный во время выключения как часть lirc init.d script и изменение состояния экрана)

#!/bin/sh
cd /home/gilson585/
blanked=`cat blanked`
if [ $blanked -eq 0 ] ; then
    irsend SEND_ONCE Kenwood_RC-R0813 power;irsend SEND_ONCE VR4085DF KEY_POWER;blanked=1;echo $blanked > blanked
fi

xscreensaver.sh(скринсейвер сторожевого таймера, вызываемый во время входа в систему)

#!/bin/bash
cd /home/gilson585/
xscreensaver-command -watch|
while read STATUS; do
  case "$STATUS" in
    BLANK*)
      /home/gilson585/sysoff.sh;blanked=1;echo $blanked > blanked
      ;;
    UNBLANK*)
      /home/gilson585/syson.sh;blanked=0;echo $blanked > blanked
      ;;
  esac
done
4b9b3361

Ответ 1

Ах. На данный момент вы можете использовать два сценария. Установка времени - это список недель/часов/минут/секунд/и т.д. Вы настроили его с такими параметрами, как

42 * * * * /bin/execute/awesomescript.sh

Это выполнит что-то на минуту 42 каждого часа. На этой странице есть объяснение, что я бы в основном извергался: http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/

Там также есть скрипты типа

42 9,12,15 * * * /bin/stuff/awesomestuff.sh

Что будет делать awesomestuff.sh в 9:42, 12:42 и 15:42