【发布时间】:2013-02-04 17:43:48
【问题描述】:
我有一个 Paas cron 服务,它只运行每分钟、每小时、每天、每周。我希望我的脚本在上午 8 点、上午 9 点、上午 10 点、上午 11 点、下午 4 点和下午 5 点每 15 分钟运行一次。我怎么做。这是我不工作的 bash 脚本。
#!/bin/bash
MINUTES=`date +%M`
HOUR=`date +%H`
for j in "08" "09" "10" "11" "13" "16" "17";do
if [ "$HOUR" == "$j" ];then
for i in "00" "15" "30" "45";do
if [ "$MINUTES" == "$i" ];then
(
/usr/bin/notify-send "Script is running at "
)
fi
done
fi
done
【问题讨论】:
-
你可以不使用
cron吗?为什么需要使用bash来调度脚本? -
尝试使用只执行通知发送的脚本(每分钟),从 cron 服务运行时是否有效? (字符串比较应该是
=,而不是==,而date +'%H %M'|read HOUR MINUTES将消除两个date调用之间时间换行的潜在问题。 -
@AntonKovalenko 喜欢这样吗? pastie.org/6040989 。已经测试过了,但没有任何反应。
-
你测试过只做
notify-send一个人吗?如果什么也没发生,那么您的问题是notify-send而不是循环和 ifs。