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

linux定时器使用

在Linux系统中,crontab 是用于设置定时任务的工具。有什么用呢?像我们平时在服务器上要定期定时执行的任务,就可以交给这个crontab来干,比如定期压缩服务产生的日志文件、定期执行数据库分表、定期某些服务组件重启等。


Crontab 基本语法

每个定时任务由6个字段组成(前5个表示时间,第6个是命令):

* * * * * 要执行的命令
│ │ │ │ │
│ │ │ │ └── 星期几 (0-7,0和7都代表周日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日 (1-31)
│ └──────── 小时 (0-23,24小时设置)
└────────── 分钟 (0-59)

时间字段规则

  1. [*]
    任意值(每分钟/每小时等)。
    示例* * * * * 表示每分钟执行一次。

  2. */n
    每隔 n 个单位执行一次。
    示例*/5 * * * * 每5分钟执行一次。

  3. a-b
    时间范围(从 ab)。
    示例0 9-18 * * * 每天9点到18点整点执行。

  4. a,b,c
    多个离散时间点。
    示例0 1,13 * * * 每天1点和13点执行。

  5. 特殊字符

    • @reboot:系统启动时运行。
    • @daily/@hourly:简化常见周期(等价于 0 0 * * *0 * * * *)。

常用示例

  1. 每天凌晨3点执行

    0 3 * * * /path/to/script.sh
  2. 每周末(周日)备份

    0 2 * * 7 /usr/bin/backup
  3. 工作日每30分钟检查

    */30 * * * 1-5 /usr/bin/check_status
  4. 每月1号和15号清理日志

    0 0 1,15 * * /usr/bin/clean_logs

如何编辑Crontab

  1. 打开当前用户的crontab

    crontab -e
  2. 查看现有任务

    crontab -l
  3. 日志路径
    执行日志通常可在 /var/log/syslogjournalctl -u cron 查看。


注意事项

  1. 环境变量
    cron任务默认无用户环境变量,建议在脚本中显式设置(如 PATH)。

  2. 权限限制
    普通用户只能编辑自己的crontab,root用户可通过 crontab -u username -e 管理其他用户。

  3. 路径问题
    命令建议使用绝对路径(如 /usr/bin/python3 而非 python3)。

如果需要更复杂的调度逻辑(如依赖任务),可考虑使用 systemd timers 或第三方工具(如 anacron)。

本文由 mdnice 多平台发布

http://www.dtcms.com/a/291020.html

相关文章:

  • AD域控制器虚拟化的安全加固最佳实践
  • 从IR到DS的转化过程中,如何确保各阶段需求不偏离用户原始场景?有哪些验证方法?
  • 吴恩达 机器学习cs229-学习笔记-更新中
  • 动静态库原理与实战详解
  • Linux 721 创建实现镜像的逻辑卷
  • 网站域名备案和服务器有关系吗
  • 《电⼦元器件零基础⼊⻔》
  • 汽车售后诊断仪DoIP和CANBus诊断指令分析
  • Linux的磁盘存储管理实操——(中)——逻辑卷管理实战
  • Ubuntu 22.04编译安装Nginx 1.28
  • Docker实践:使用Docker部署blog轻量级博客系统
  • 我的NAS进化史:用1Panel和内网穿透把零配件变成远程中枢
  • 超详细解析:Java装箱与拆箱(附完整数据类型清单)
  • 在 HTTP GET 请求中传递参数有两种标准方式
  • 【Java】Spring的依赖注入理解,@Autowired用法
  • 网络数据分层封装与解封过程的详细说明
  • STM32 开发的鼠标:技术详解与实现指南
  • RBAC(Role-Based Access Control,基于角色的访问控制)介绍(一种通过角色来管理用户权限的访问控制模型)
  • 深入解析 SymPy 中的符号计算:导数与变量替换的实践指南
  • 【未限制消息消费导致数据库CPU告警问题排查及解决方案】
  • 司南评测体系全新升级,“五位一体”评估全链路关键能力
  • 神经网络过拟合处理:原理与实践
  • C++实战案例:从static成员到线程安全的单例模式
  • Spring AI 系列之十八 - ChatModel
  • 【实战】Dify从0到100进阶--文档解读(10)参数提取HTTP节点
  • MybatisPlus-15.扩展功能-逻辑删除
  • 国产电钢琴核心优缺点是什么?
  • 深度学习 ---神经网络以及数据准备
  • C++基础数据结构
  • Ubuntu 22 安装 ZooKeeper 3.9.3 记录