Linux如何设置定时任务调度?

更新于
2026-10-09 12:43:35
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计849个文字,预计阅读时间需要4分钟。

Linux如何设置定时任务调度?

Linux crontab与at两种定时任务调度任务调度概述任务调度是指系统在特定时间执行特定命令或程序。任务调度主要有两种,一种是系统级任务,另一种是用户级任务。系统级任务:需要周而复始地执行,例如每天备份数据。用户级任务:针对特定用户,在特定时间执行,例如每天定时清理用户目录。

主要总结Linux crontab和at两种定时任务调度 任务调度 概述

任务调度是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病毒扫描。第二种是个人用户工作,用户需要在某个特定的事件执行某些程序,比如备份数据库。

在 Linux 中使用 corntab 和 at 进行定时任务的设置

crond定时任务 基本语法

//编辑crontab定时任务 crontab -e //查看当前crontab定时任务 crontab -l //删除当前用户所有的crontab任务 crontab -r 定时执行指令任务

//首先执行 crontab -e //进入任务编辑 //然后输入要执行的任务 */1 * * * * /etc/ > /tmp/list.txt

五个占位符的说明

项目 含义 范围 第一个 分钟 0~59 第二个 时钟 0~23 第三个 一个月的第几天 1~31 第四个 一年中的低级月 1~12 第五个 星期几 0~7

关于特殊符号说明

符号 含义 * 范围内的任何值 , 不连续时间 - 连续时间 */n 没间隔n个单位时间 定时执行脚本或程序
  1. 首先使用vim编辑器写一个脚本文件,如下

vim /home/my.sh //写入如下简单示例指令 */1 * * * * date >> /tmp/mydate.txt

示例给出的是一个简单的指令,我们也可以写更复杂的shell脚本或Java程序
2. 然后需要给当前用户增加my.sh的执行权限

chmod u+x /home/my.sh

  1. 最后向crontab中写入执行shell的指令

crontab -e */1 * * * * /home/my.sh at定时任务

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来允许,默认情况下atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果与当前时间匹配就会运行次作业。

注意:at命令在使用时,一定要保证atd进程的启动,可以使用指令 ps-ef | grep atd 来检测atd是否在运行。

at命令格式

at [选项] [时间]
输入两次 Ctrl+D 来结束at任务的输入

at命令选项 选项 含义 -I 等同于atq,显示当前at任务队列 -d 等同于atrm,后跟一个数组表示删除队列中的第几个at任务 -q <队列> 使用指定队列 -f <文件> 从指定文件读入任务 at指定时间
  • 使用hh:mm指定
  • 采用12小时制+AM/PM 指定
  • 使用hh:mm 年-月-日指定
  • 相对计时,比如now + 5 hours(minutes/days/weeks)

学习总结来源于韩顺平老师一周学会Linux

Linux如何设置定时任务调度?

本文共计849个文字,预计阅读时间需要4分钟。

Linux如何设置定时任务调度?

Linux crontab与at两种定时任务调度任务调度概述任务调度是指系统在特定时间执行特定命令或程序。任务调度主要有两种,一种是系统级任务,另一种是用户级任务。系统级任务:需要周而复始地执行,例如每天备份数据。用户级任务:针对特定用户,在特定时间执行,例如每天定时清理用户目录。

主要总结Linux crontab和at两种定时任务调度 任务调度 概述

任务调度是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病毒扫描。第二种是个人用户工作,用户需要在某个特定的事件执行某些程序,比如备份数据库。

在 Linux 中使用 corntab 和 at 进行定时任务的设置

crond定时任务 基本语法

//编辑crontab定时任务 crontab -e //查看当前crontab定时任务 crontab -l //删除当前用户所有的crontab任务 crontab -r 定时执行指令任务

//首先执行 crontab -e //进入任务编辑 //然后输入要执行的任务 */1 * * * * /etc/ > /tmp/list.txt

五个占位符的说明

项目 含义 范围 第一个 分钟 0~59 第二个 时钟 0~23 第三个 一个月的第几天 1~31 第四个 一年中的低级月 1~12 第五个 星期几 0~7

关于特殊符号说明

符号 含义 * 范围内的任何值 , 不连续时间 - 连续时间 */n 没间隔n个单位时间 定时执行脚本或程序
  1. 首先使用vim编辑器写一个脚本文件,如下

vim /home/my.sh //写入如下简单示例指令 */1 * * * * date >> /tmp/mydate.txt

示例给出的是一个简单的指令,我们也可以写更复杂的shell脚本或Java程序
2. 然后需要给当前用户增加my.sh的执行权限

chmod u+x /home/my.sh

  1. 最后向crontab中写入执行shell的指令

crontab -e */1 * * * * /home/my.sh at定时任务

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来允许,默认情况下atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果与当前时间匹配就会运行次作业。

注意:at命令在使用时,一定要保证atd进程的启动,可以使用指令 ps-ef | grep atd 来检测atd是否在运行。

at命令格式

at [选项] [时间]
输入两次 Ctrl+D 来结束at任务的输入

at命令选项 选项 含义 -I 等同于atq,显示当前at任务队列 -d 等同于atrm,后跟一个数组表示删除队列中的第几个at任务 -q <队列> 使用指定队列 -f <文件> 从指定文件读入任务 at指定时间
  • 使用hh:mm指定
  • 采用12小时制+AM/PM 指定
  • 使用hh:mm 年-月-日指定
  • 相对计时,比如now + 5 hours(minutes/days/weeks)

学习总结来源于韩顺平老师一周学会Linux

Linux如何设置定时任务调度?