gil*_*585 10 boot cron time lirc
所以我有一系列脚本,用于控制我的接收器和电视电源在某些事件,如启动,屏幕保护和远程控制.其中一个是在登录期间执行的,但事情可能是我不希望它在机器计划启动时运行脚本.我有逻辑在执行启动应用程序期间如果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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
Joe*_*nte -1
啊。至少,您现在可以使用两个脚本。时间设置是周/小时/分钟/秒/等的列表。您可以使用以下参数进行设置
42 * * * * /bin/execute/awesomescript.sh
Run Code Online (Sandbox Code Playgroud)
这将在每小时的第 42 分钟执行一些操作。此页面有一个我基本上会反胃的解释:http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/
还有像这样的脚本
42 9,12,15 * * * /bin/stuff/awesomestuff.sh
Run Code Online (Sandbox Code Playgroud)
这将在 9:42、12:42 和 15:42 执行 Awesomestuff.sh
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |