Linux中设置计划任务

设置计划任务的作用

*为了实现某一时间完成某个指定任务,如定时备份某个文件和目录,定时删除某个文件和目录,定时启动某个服务等等

使用at设置计划任务,at命令是一次性的,完成某个定时任务之后,就失效了

at 用法:

  • at [选项] [时间] (这里的时间是使用任务的时间)
  • at 时间格式为
时间格式 说明
HH:MM 当天的HH:MM执行此任务,比如:19:00
HH:MM YYYY-MM-DD 某年的某月某日执行此任务,比如:19:00 2022-05-25
选项 说明
-l 列出所有的计划任务同atq
-d 删除指定的计划任务atrm
-c 查看某个具体的任务
  • 用at定义一个简单计划
# at 15:00
at> cat /yyds/a.txt  #在at>后填写任务内容
at> <EOT>  #任务填写完后,按ctl+D组合键保存退出

  • 使用at -l查看任务(最前面的"1"是这个任务的任务ID)
  • at -c [任务ID] 可以查看具体任务的内容

使用crontab设置计划任务,这个命令是永久性的,用来定期执行指定任务

crontab 用法:

  • crontab [-u user] [文件]|[选项] (不指定用户,默认是当前用户)
  • crontab 命令常用选项
选项 说明
-u user 指定某个用户来设置crontab
-e 编辑crontab时程表文件
-l 显示crontab时程表任务
-r 删除crontab时程表任务
-i 删除crontab时程表文件时,给出提示
  • 用crontab制定定时任务

crontab -e 使用此命令会打开vi|vim编辑器
需要输入的格式为: 分钟(空格)小时(空格)某个月份中的第几日(空格)月份(空格)一个星期的第几天(空格)执行的命令或程序

0 19 25 5 * echo "Hello World!"  #这段意思是: 在5月25日19点整输出 "Hello World!"(*表示没有值)

* * * * * echo "Hello World!"  #比较特殊,指每分钟执行一次

0 * * * * echo "Hello World!"   #到每个整点时都会执行

0 8-20/3 * * * echo "Hello World!"  #每天的8:00到20:00,每三小时执行一次
  • 查看定制的任务,因为没有指定是哪个用户,所以默认使用的都是当前的用户

crontab -l 用来查看当前用户的时程表任务
crontab -r 用来删除当前用户的时程表任务
因为任务删除了时程表为空,所以显示为"no crontab for 当前用户"

posted @ 2022-05-25 20:29  L_野心家  阅读(200)  评论(0编辑  收藏  举报