所以我有一系列脚本,用于在某些事件(例如启动,屏幕保护程序和远程控制)中控制我的接收器和电视电源。其中一个是在登录期间执行的,但事情可能是我不希望它在机器计划启动时运行脚本。我有逻辑在执行启动应用程序期间如果blanked = 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
答案 0 :(得分:-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