10

所以我有一组脚本,用于在启动、屏幕保护程序和远程控制等某些事件期间控制我的接收器和电视电源。其中之一是在登录期间执行的,但问题是我可能不希望它在机器计划启动时运行脚本。如果在启动应用程序执行期间空白 = 0,我有逻辑忽略事件,因此它不会在启动或关闭期间发送 ir。我怎样才能通过使用 cron 来做到这一点?我选择 cron 是因为这些事件发生在启动应用程序之前。Cron 很棒,但据我了解,我只能在启动时运行或按计划运行,不能同时运行。我需要编写时间变量的脚本,但我不确定如何。

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 脚本和屏幕状态更改的一部分调用)

#!/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
4

1 回答 1

-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

哪个将在 9:42、12:42 和 15:42 执行 awesomestuff.sh

于 2012-10-26T14:14:43.043 回答