Shell “如何运行”;at";每小时指挥一次
如何使用下面在6:00,7.00,8:00,9:00,10:00到23:00运行的“at”命令进行编程Shell “如何运行”;at";每小时指挥一次,shell,sh,Shell,Sh,如何使用下面在6:00,7.00,8:00,9:00,10:00到23:00运行的“at”命令进行编程 cmd = "echo /bin/everyhour | at 06:00" 问候 gwaag您可以尝试将其放在.bashrc中,但未经测试: doer() { t=$(date +"%k") bin/everyhour if [[ $t < 24 && $t > 5 ]]; then echo doer | at now + 1 hour
cmd = "echo /bin/everyhour | at 06:00"
问候
gwaag您可以尝试将其放在
.bashrc
中,但未经测试:
doer() {
t=$(date +"%k")
bin/everyhour
if [[ $t < 24 && $t > 5 ]]; then
echo doer | at now + 1 hour
fi
}
doer
doer(){
t=$(日期+%k)
宾/每小时
如果[[$t<24&&$t>5]];则
echo doer |现在+1小时
fi
}
实干家
或者,此命令将继续工作,但仅在指定的时间间隔内执行:
doer() {
t=$(date +"%k")
if [[ $t < 24 && $t > 5 ]]; then
bin/everyhour
fi
echo doer | at now + 1 hour
}
doer(){
t=$(日期+%k)
如果[[$t<24&&$t>5]];则
宾/每小时
fi
echo doer |现在+1小时
}
at命令用于调度要执行一次的命令。对于重复执行,我建议cron。
使用crontab-e
编辑您的crontab,并添加以下行:
00 06-23 * * * /bin/everyhour
您可以创建一个脚本,该脚本将在命令处调用
,然后调用正确的作业。下面的一个将每小时运行一个作业,但只需稍加修改,您也可以在6:00到23:00之间达到小时数:
at now + 1 hour -m -f ~/scheduledTask.sh
#do the job
~/job.sh
然后在给定时间使用at
命令运行此脚本:
at 06:00 -m -f ~/scheduledTask.sh
为什么要添加python标记?@kamesh哈哈,这可能是一个更好的选择,但我真的很好奇这个问题的确切答案是什么!(事实上,我想知道昨晚的bash“at”是如何工作的!)@AvinashRaj Yea似乎想要“bash”标签。的可能重复并不重要——它是以一种不同的(而且我认为更易于搜索)方式提出的,所以人们可能(像我一样)更容易遇到它。你可能想测试一下。我认为别名不会传递给at。@JohnC:这是一个函数,不是别名。但是你是对的,at
将无法看到它。更重要的是,这个问题的解决方案是cron
,而不是at
@JohnC,是的,它是一个函数,但可以通过bin
中的脚本来实现。当然,cron
是正确的工具。