定时任务调度`crond` 和 `at` 命令使用

😀前言
本篇博文是关于 linux实操篇-定时任务调度crondat 命令,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

linux实操篇-定时任务调度

crond 任务调度

crontab 进行 定时任务的设置

概述

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等.

2.个别用户工作:个别用户的个性化需求,可能希望执行某些程序,比如对mysql数据库的备份。示意图

image-20240819134317921

基本语法

crontab[选项]

常用选项

image-20240819134406087

快速入门

设置任务调度文件:/etc/crontab

设置个人任务调度。执行 crontab -e 命令。

接着输入任务到调度文件

如:*/lls-l /etc/>/tmp/to.txt命令

意思说每小时的每分钟执行1s-1/etc/>/tmp/to.txt

  • 参数细节说明
    5个占位符的说明
image-20240819134621414
  • 特殊符号说明
image-20240819134659481
  • 特殊时间执行案例
image-20240819134739498

应用实例

  • 案例 1:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate 文件中
    */ldate>>/tmp/mydate

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

    步骤:
    (1)vim /home/my.sh 写入内容 date >>/home/mycal 和 cal >> /home/mycal

    (2)给 my.sh 增加执行权限,chmod u+x /home/my.sh

    (3)crontab -e 增加 /l*** /home/my.sh

  • 案例 3:每天凌晨 2:00 将 mysql 数据库 testdb备份到文件中。

    提示:指令为mysqldump -u root -p 密码 数据库 >/home/db.bak

    步骤(1)crontab -e
    步骡(2)0 2*** mysqldump -u root -proot testdb >/home/db.bak

crond 相关指令

conrtab -r:终止任务调度。

crontab -1:列出当前有那些任务调度。

service crond restart [重启任务调度]

at 定时任务

基本介绍

1)at命令是一次性定时计划任务,at的守护进程 atd 会以后台模式运行,检查作业队列来运行。

2)默认情况下,atd 守护进程每 60 秒检查作业队列。有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。

3)at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了。

4)在使用 at 命令的时候,一定要保证 atd 进程的启动,可以使用相关指令来查看

ps -ef | grep atd //可以检测 atd 是否在运行

5)示意图

image-20240819135751188

at 命令格式

at[选项] [时间]
Ctrl+D 结束 at 命令的输入,输出两次。

at 命令选项

image-20240819140214628

at时间定义

at指定时间的方法:
  1. 指定具体时间
    • 使用 hh:mm 格式来指定同一天的特定时间。如果所给时间已经过去,则任务将在第二天的同一时间执行。
    • 例如:at 16:00 today 表示在今天下午4点运行命令。
  2. 使用模糊时间表达
    • 可以使用 noon(中午12:00)、midnight(午夜00:00)这样的关键词。请注意,tea-time 不是一个标准的 at 命令关键词,但它可以被一些系统识别为下午4点。
    • 例如:at midnight tomorrow 表示在明天午夜运行命令。
  3. 使用12小时制
    • 如果使用12小时制,需要加上 am 或者 pm
    • 例如:at 12pm today 表示在今天中午12点运行命令。
  4. 指定具体日期和时间
    • 可以使用 mm/dd/yy 或者 dd.mm.yy 格式来指定具体的日期。
    • 例如:at 04:00 03/01/21 表示在2021年3月1日早上4点运行命令。
  5. 使用相对时间
    • 使用 now + count time-units 的格式。注意这里的 time-units 应该是 minuteshoursdaysweeks
    • 例如:at now + 5 minutes 表示在现在时间之后5分钟运行命令。
  6. 使用今天或明天
    • 直接使用 today 或者 tomorrow
    • 例如:at 10:00 tomorrow 表示在明天上午10点运行命令。
示例
  • 如果你想在明天下午4点运行一个命令,可以这样写:
    • at 16:00 tomorrow
注意事项
  • 在使用 at 命令时,todaytomorrow 关键词通常不需要加上日期,因为它们默认指的是今天的日期。
  • at 命令允许你输入多行命令。在输入 at 命令后,按下回车键进入命令编辑模式,输入完所有命令后输入 . 并按回车键来结束命令输入。

😄总结

通过 crondat 命令,Linux 用户可以轻松地安排周期性的任务或一次性任务。crond 更适合长期重复的任务,而 at 适用于一次性任务。了解这两种工具的使用方法可以帮助提高系统的自动化管理水平。

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨犀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值