Linux设置定时任务

前言:定时任务一共有两种:at 和cron。 其中at只能执行一次、cron可周期性的执行。

 

1、at用法

举例子:在今天的8点45执行某个任务       (这里的时间是以当前linux系统的时间为依据的,可以先使用date命令查看linux当前的时间)

 

输入命令:at 08:45 today  写完后回车。它会让你输入你要执行什么任务命令 这时假设我输入 echo ‘hello>test.txt  (这命令是指我要把hello这个单词写到test.txt这个文件里面去) 输完之后再按ctrl+d就表示任务交代完毕。

 

扩展:时间格式还有很多种,如:

 

  • 指定在2021年3月6号2点执行 02:00 2021-03-06 

 

  • 5分钟后执行  Now +5 minutes 

 

  • 3天后的下午5点种执行  5pm + 3days 
  • 查看任务列表命令:atq  (只显示还没执行的命令)
  • 删除任务:atrm 3 (这里的3是任务列表中任务的排序)

 

  • 它的执行原理:它会把我们要它执行的任务命令生成对应的shell脚本、并把脚本放到目录 /var/spool/at下面  最后atd去检查执行

 

    注意:root用户能查看到所有用户的任务而非root用户只能查看这句的任务

2、crontab的用法

举例子:任务为   每天半夜0:30运行backup命令

 输入命令 crontab -e 此时会进入到编辑模式--->我们再输内容:30 0 * * * backup   然后保存退出   这样就完成了

  • 查看当前有哪些cron命令: crontab -l
  • 检查执行: crond
  • 删除任务: crontab -e 然后删除对应的任务的行、保存文件退出即可
  • 命令解析可参考下图:*号指任意

                                          

 

 

 

 

 

posted @ 2021-04-07 16:28  miracle2  阅读(691)  评论(0编辑  收藏  举报