当前位置: 首页 > 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.lryc.cn/news/595273.html

相关文章:

  • 如何优化Java的原生反射Method.invoke()
  • Linux--初识linux
  • c++找工作(qt)
  • (二)Unity3d-ROS联合仿真:运行Unity-Robotics-Hub
  • 【Linux庖丁解牛】— 线程控制!
  • 教育数字化革命:低代码破局与未来展望
  • 今日行情明日机会——20250721
  • (一)ZooKeeper 发展历史
  • 计算机发展史:人工智能时代的智能变革与无限可能
  • CLIP与SIGLIP对比浅析
  • oracle 数据库中,将几张表的数据按指定日期范围实时同步至同一个数据库的备份表中。
  • 详解 F.cross_entropy 与标签平滑的工作原理
  • Day07_网络编程20250721(网络编程考试试卷)
  • 比特币技术简史 第五章:交易机制 - UTXO模型、脚本系统与多重签名
  • PyCharm 未正确关联 .jpg 为图片格式
  • 玩转Rocky Linux 9 部署Redis指南
  • Jmeter如何做接口测试?
  • 前端之学习后端java小白(一)之SDKMAN
  • JavaScript的引入方式和基础语法的快速入门与学习
  • DigitalOcean 云平台上线 AMD MI325X GPU Droplet 服务器
  • 网站域名备案和服务器有关系吗
  • 解决OpenHarmony中找不到pthread_cancel和pthread_setcanceltype等libc符号的问题
  • Shell判断结构
  • 5道挑战题writup
  • 中文分词模拟器 - 华为OD统一考试(Java 题解)
  • macbookpro m1 max本儿上速搭一个elasticsearch+kibana环境
  • 在 React 中实现全局防复制hooks
  • MySQL表的基础操作
  • 鸿蒙DevEco Studio找不到JsonFormat插件
  • 虚拟机扩展磁盘容量后扩展分区大小