前言:定时任务一共有两种: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 然后删除对应的任务的行、保存文件退出即可
- 命令解析可参考下图:*号指任意