当前位置: 首页 > news >正文

Linux 例行性工作任务(定时任务)知识点总结

一、单一一次的执行计划(at 命令)

1. 相关包与服务

  • 包名:at-3.1.23-11.el9.x86_64
  • 查看是否安装:rpm -q at 或 rpm -qa | grep at
  • 服务进程:atd(后台运行的守护进程)
  • 查看服务状态:ps -aux | grep atd

2. 时间格式

格式示例
HH:MM12:12(指定小时和分钟)
[HH:MM] yy-mm-DD14:30 25-10-19(指定年月日时分)
am/pm4am(上午 4 点)
now + count time-unitsnow + 10 minutes(10 分钟后)、now + 2 hours(2 小时后)等,时间单位支持 minutes、hours、days、weeks

3. 常用选项

选项功能说明等价命令
-l列出当前用户的 at 任务atq
-d删除指定 at 任务atrm
-c查看任务的脚本内容-
-f从文件中读取任务命令-

4. 案例

  • 交互式创建任务:

    bash

    at 12:12  # 指定执行时间
    at> touch 123  # 输入任务命令
    at> <EOT>  # 按 Ctrl+D 结束输入,任务创建成功
    
  • 非交互式创建任务:

    bash

    # 通过管道直接传递命令
    echo "echo 'hello again' >> at.txt" | at now +1 minutes# 从文件读取命令
    echo "echo hello again >> at.txt" >> file  # 先写入文件
    at now +1 minutes -f file  # 指定文件执行
    

5. 相关路径与配置

  • 任务文件存储路径:/var/spool/at
  • 白黑名单(控制用户权限):
    • etc/at.allow:允许使用 at 命令的用户列表(优先级高)
    • etc/at.deny:禁止使用 at 命令的用户列表

二、周期性的执行计划(crontab 命令)

1. 相关包与服务

  • 包名:crontabs-1.11-27.20190603git.el9_0.noarch
  • 查看是否安装:rpm -qa | grep crontab
  • 服务进程:crond
  • 查看服务状态:ps -aux | grep crond

2. 时间格式(核心)

格式:分 时 日 月 周(空格分隔,共 5 个字段)

符号含义示例
*匹配所有值(每)分钟位为 * 表示每分钟
-匹配范围小时位 1-3 表示 1 到 3 点
/间隔频率分钟位 */10 表示每 10 分钟
,分割多个对象日位 1,10,20 表示 1、10、20 日

3. 常用选项

选项功能说明
-l列出当前用户的 cron 任务
-r清空当前用户的所有 cron 任务
-u指定用户(通常 root 使用)
-e编辑当前用户的 cron 任务

4. 相关路径与配置

  • 任务脚本存储路径:/var/spool/cron
  • 白黑名单(控制用户权限):
    • etc/cron.allow:允许使用 crontab 的用户列表(优先级高)
    • etc/cron.deny:禁止使用 crontab 的用户列表
  • 日志文件:/var/log/cron(可通过 tail -f /var/log/cron 实时查看)

5. 系统级任务与扩展

  • 系统级任务配置文件:/etc/crontab
  • 扩展任务计划(/etc/anacrontab):适用于非 24 小时开机的系统,格式示例:

    bash

    1 5 cron.daily nice run-parts /etc/cron.daily
    # 含义:每隔1天,延迟5分钟,执行 /etc/cron.daily 目录下的所有脚本
    

三、邮件客户端配置(配合定时任务发送通知)

1. 软件与安装

  • 软件:s-nail(RHEL7 及以上,替代 mailx)
  • 安装步骤:
    1. 挂载光盘:mount /dev/sr0 /mnt
    2. 配置 yum 源(/etc/yum.repos.d/base.repo):

      ini

      [base]
      name=BaseOS
      baseurl=file:///mnt/BaseOS
      gpgcheck=0
      [AppStream]
      name=AppStream
      baseurl=file:///mnt/AppStream
      gpgcheck=0
      enabled=1
      
    3. 安装:dnf install s-nail -y

2. 邮箱配置(/etc/s-nail.rc

在文件末尾追加配置(以 163 邮箱为例):

bash

set from=##########@163.com  # 发件人邮箱
set smtp=smtp.163.com       # SMTP服务器
set smtp-auth-user=##########@163.com  # 用户名
set smtp-auth-password=################  # 授权码(非登录密码)
set smtp-auth=login  # 认证方式

3. 发送邮件命令

bash

echo "邮件内容" | mail -s "邮件主题" 收件人邮箱

4. 邮件服务端口

  • SMTP(发送):25、465
  • POP3(接收,离线):110、995
  • IMAP(接收,在线):143、993

四、时区设置

bash

timedatectl set-timezone Asia/Shanghai  # 设置为上海时区
http://www.dtcms.com/a/503204.html

相关文章:

  • 一文学会大模型开发Eino框架的模型调用方法
  • Docker命令大全:从入门到精通
  • 沈阳网站制作公司思路留学网站建设
  • js封装一个双精度算法实现
  • 性能优化:提升软件效率的实用指南
  • 【FPGA】设计流程——Veriolg输入
  • 公共交通安全再讨论
  • C++蓝桥杯之结构体10.15
  • 从原理到实战:Java 队列(Queue)指南
  • 【C++】用红黑树封装map与set
  • php网络公司网站源码网站建设与管理的体会
  • 做网站要先申请域名吗做彩铃的网站
  • 零基础做地方门户网站装修网名大全
  • Docker入门手册
  • 谷歌 Gemini 2.5 Flash Image 震撼升级图像编辑
  • Spring Boot 3零基础教程,WEB 开发 整合 Thymeleaf 笔记36
  • [go 面试] 并发与数据一致性:事务的保障
  • gitee——代码托管平台(进行托管所需的相关软件)
  • JavaWeb后端-Maven、单元测试
  • 微网站后台怎么注册有哪些公众号是小黄油的
  • 【SayCan】LLM+价值函数:以言为引,量力而行
  • 做亚马逊外国网站需要语言好吗大都会app约
  • DaVinci4.2.3 | 无限次AI图片生成,可以预制多种风格,提示限制清理数据重新进即可
  • Linux 配置双栈协议(IPv4 + IPv6)详解
  • JAVA全栈JVM篇————初识JVM
  • 在PyTorch中实现自定义损失函数
  • Hoeffding树:数据流挖掘中的高效分类算法详解
  • 深入解析Java并发基石AQS框架的设计哲学与实战应用
  • 爬虫+Docker:让你的爬虫项目一键部署、可移植
  • 微信网站设计模板下载不用建网站怎么做淘宝客