Linux定时任务调度--crontab与at

如有错误或有补充,以及任何改进的意见,请在评论区留下您的高见,同时文中给出大部分命令的示例,即是您暂时无法在Linux中查看,您也可以知道各种操作的功能以及输出

如果觉得本文写的不错,不妨点个赞,收藏一下,助力博主产生质量更高的作品

crontab [选项]

简介

crontab命令是一个用于设置周期性被执行的任务的工具。通过crontab,用户可以安排在指定的时间间隔内自动执行某些命令或脚本。

要使用crontab命令,您需要先编辑crontab文件,该文件包含了一系列要执行的任务。

使用

crontab -l

用户可以通过此选项列出当前用户的crontab任务,在没有编辑crontab文件时是没有输出的

crontab -e

编辑当前用户的crontab任务

在编辑crontab文件时,每个任务占一行,并且必须遵循以下格式:

  • 分钟 小时 日期 月份 星期 命令

以   */1 * * * * ls -hl /root> /tmp/root-dir.txt  为例

意味着每天的没分钟执行一次  ls -hl /root> /tmp/root-dir.txt

Linux定时任务调度--crontab与at_第1张图片

五个占位符的含义:             

占位符 含义 范围
第一处 一小时当中的第几分钟   

0-59

第二处 一天当中的第几小时 0-23
第三处 一个月当中的第几天 1-31
第四处 一年当中的第几月 1-12
第五处 一周当中的星期几 0-7(0,7都是星期日)

crontab -r

删除当前用户的crontab任务,删除crontab任务将永久删除所有已安排的任务,因此请谨慎操作

示例:

Linux定时任务调度--crontab与at_第2张图片

at 

简介

Linux的at命令是一个用于安排一次性任务执行的命令行工具。at命令允许用户在指定的时间或日期安排一个命令或脚本的执行。

使用 -- at [选项][时间]

at指定时间格式:

时间参数可以使用多种格式来指定,包括:

绝对时间:通过指定日期和时间来指定一个确切的时间点。

        例如,“2023-03-15 14:30”表示2023年3月15日下午2点30分。

        hh:mm (小时:分钟)指定时间点

        12小时计时  用AM,PM确定上下午

相对时间:使用相对于当前时间的偏移量来指定时间。格式为:now + [count] [time-units],

        now 当前时间

        time-units 时间单位这里能够是 minutes(分钟)、hours (小时)、days (天)、 weeks (星期)

        count 时间的数量,几天,几小时

        例如,“now + 5 minutes”表示从现在开始5分钟后执行

        也可以直接用today,tommorrow指定

特殊时间:还可以使用一些特殊的时间关键词来表示特定的时间点,例如“midnight”(午夜)表示每天的0点,“noon”(中午)表示每天的12点等。

使用at后会生成at的命令行,在这里面可以输入您要指定的命令(不建议)

atq查看当前系统还未执行的at任务

选项:

at命令的选项主要包括:

-m:在任务执行完成后,将结果通过邮件发送给当前用户

-c:取消尚未执行的任务

-l:列出当前用户的所有任务

-r:删除当前用户的所有任务

-f:指定包含具体指令的任务文件

-q:指定新任务的队列名称

-v:显示任务即将被执行的时间

示例:Linux定时任务调度--crontab与at_第3张图片

Linux定时任务调度--crontab与at_第4张图片

Linux定时任务调度--crontab与at_第5张图片

你可能感兴趣的:(Linux,linux,运维,服务器)