Shell “如何运行”;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

如何使用下面在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
  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
是正确的工具。