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(明天)来指定完成命今的时间。
案例

相关推荐
wdxylb34 分钟前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20072 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪2 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk4 小时前
Linux 正则表达式
linux·运维
Fireworkitte5 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9006 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char6 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
淮北也生橘128 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
华强笔记11 小时前
Linux内存管理系统性总结
linux·运维·网络
十五年专注C++开发11 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建