如何每小时运行“at”命令

时间:2014-07-09 04:41:43

标签: shell sh

如何使用下面的“at”命令编程,运行时间为6:00,7.00,8:00,9:00,10:00至23.00

cmd = "echo /bin/everyhour | at 06:00"

问候 gwaag

3 个答案:

答案 0 :(得分:3)

at 命令用于安排一次执行的命令。对于定期执行,我建议 cron 。 使用crontab -e修改您的crontab并添加以下行:

00 06-23 * * * /bin/everyhour

答案 1 :(得分:0)

您可以尝试将其放入.bashrc,但未经过测试:

doer() {
  t=$(date +"%k")
  bin/everyhour
  if [[ $t < 24 && $t > 5 ]]; then
      echo doer | at now + 1 hour
  fi  
}
doer

或者,这个继续工作,但只在指定的时间间隔内执行:

doer() {
  t=$(date +"%k")
  if [[ $t < 24 && $t > 5 ]]; then
      bin/everyhour
  fi  
  echo doer | at now + 1 hour
}

答案 2 :(得分:0)

您可以创建一个脚本,该脚本将调用CommonReference命令,然后调用正确的作业。下面一个人每小时都会开一份工作,但经过小修改后你也可以在6:00到23:00之间工作:

Readable

然后使用at命令在给定时间运行此脚本:

at now + 1 hour -m -f ~/scheduledTask.sh

#do the job
~/job.sh