Linux之定时任务调度

crond

crond是Linux系统中的一个守护进程,主要用于周期性地执行某种任务或等待处理某些事件。而crondtab是配套的工作,用于定时任务的设置。

语法
复制代码
crontab [选项]
常用选项

入门案例
  1. 执行crontab -e命令

  2. 输入任务到调度文件中

    */1 * * * * ls -l /etc/ > /tmp/to.txt

表示每分钟执行一次ls -l /etc > /tmp/to.txt命令

查看crontab执行的任务

删除当前用户所有的crontab的任务


参数说明

5个占位符的说明:分-时-天-月-日

特殊符号说明


应用案例

每隔1分钟,将当前日期和日历都追加到/home/mycal文件中

  1. vim /home/my.sh写入内容data >> /home/mycalcal >> /home/mycal
  2. my.sh增加执行权限,chmod u+x /home/my.sh
  3. crontab -e,增加*/ * * * * /home/my.sh

补充命令

重启任务调度

复制代码
service crond restart

at

at命令是一次性 定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。默认情况下,atd守护进程每60s检查作业队列,如果时间域当前时间匹配,则运行此作业。在使用at命令时要确保atd进程启动,可以使用ps -ef | grep atd检查。


at命令格式
复制代码
at [选项] [时间]

输入完成后,连续两次Ctrl + D结束at命令

at命令选项
at指定时间
  1. 使用hh:mm指定时间,假如该时间已经过去,那么就在第二天执行。例如:04:00
  2. 使用midnight, noon, teatime(下午茶一般4点)等模糊词语指定时间
  3. 采用12小时制,即使用am或pm来说明上午还是下午。例如:12pm
  4. 使用相对计时法.指定格式为: now + count time-units,now就是当前时间, time-units是时间单位,这里能够是minutes(分钟)、hours (小时)、days(天) . weeks (星期)。count是时间的数量,几天,几小时。例如: now + 5 minutes
  5. 直接使用today(今天)、tomorrow(明天)来指定完成命今的时间。
案例

相关推荐
济6175 分钟前
ARM Linux 驱动开发篇----字符设备驱动开发(6)---测试chrdevbase 字符设备驱动开发实验--- Ubuntu20.04
linux·运维·驱动开发
小程同学>o<9 分钟前
Linux 应用层开发入门(二十二)| poll_select方式读取输入数据
linux·嵌入式软件·地瓜机器人·atomgit·linux应用层开发·openloong开源社区·开源新春集福
求索小沈28 分钟前
linux 录屏软件安装--obs
linux·运维·服务器
承渊政道35 分钟前
Linux系统学习【深入剖析Git的原理和使用(上)】
linux·服务器·git·学习
开开心心就好40 分钟前
高效U盘容量检测工具,一键辨真假,防假货
linux·运维·服务器·线性代数·安全·抽象代数·1024程序员节
蓝天居士1 小时前
VMware Workstation挂载共享文件夹(3)
linux·ubuntu
czxyvX1 小时前
001-Linux基本指令(一)
linux
IT布道1 小时前
基于Rocky Linux制作Apache HTTPD 2.4.66 的RPM安装包
linux·运维·apache
RisunJan1 小时前
Linux命令-lsusb(列出系统中所有USB总线以及连接到它们的设备信息)
linux·运维·服务器
wsad05321 小时前
CentOS 7 Minimal 配置静态 IP 完整指南(VMware NAT 模式)
linux·tcp/ip·centos