插件窝 干货文章 Linux之crontab定时执行脚本怎么写

Linux之crontab定时执行脚本怎么写

crontab 执行 script path 342    来源:    2025-04-21

Linux crontab 定时任务配置指南

crontab 是 Linux 系统中用于设置周期性执行任务的工具。下面我将详细介绍如何编写 crontab 定时执行脚本。

基本语法

crontab 的基本格式如下:

* * * * * command_to_execute
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └── 星期几 (0 - 6) (0 表示星期日)
│ │ │ └──── 月份 (1 - 12)
│ │ └────── 日期 (1 - 31)
│ └──────── 小时 (0 - 23)
└────────── 分钟 (0 - 59)

常用示例

  1. 每分钟执行一次

    * * * * * /path/to/script.sh
    
  2. 每小时的第5分钟执行

    5 * * * * /path/to/script.sh
    
  3. 每天凌晨2点执行

    0 2 * * * /path/to/script.sh
    
  4. 每周一上午8点执行

    0 8 * * 1 /path/to/script.sh
    
  5. 每月1号中午12点执行

    0 12 1 * * /path/to/script.sh
    
  6. 每5分钟执行一次

    */5 * * * * /path/to/script.sh
    
  7. 工作日上午9点到下午5点,每小时执行

    0 9-17 * * 1-5 /path/to/script.sh
    

特殊字符说明

  • *:匹配所有值
  • ,:指定多个值(如 1,3,5
  • -:指定范围(如 1-5
  • /:指定间隔(如 */10 表示每10单位)

使用步骤

  1. 编辑当前用户的 crontab

    crontab -e
    
  2. 查看当前用户的 crontab

    crontab -l
    
  3. 删除当前用户的 crontab

    crontab -r
    

注意事项

  1. 环境变量:cron 执行环境与用户登录环境不同,建议在脚本中使用绝对路径或在脚本中设置 PATH 变量。

  2. 输出处理:cron 任务的输出默认会通过邮件发送给用户,可以重定向输出:

    * * * * * /path/to/script.sh > /dev/null 2>&1
    
  3. 权限问题:确保脚本有可执行权限:

    chmod +x /path/to/script.sh
    
  4. 日志记录:建议添加日志记录:

    * * * * * /path/to/script.sh >> /var/log/script.log 2>&1
    
  5. 测试:添加任务后,建议先手动运行脚本测试,确保它能正确执行。

系统级 crontab

除了用户级 crontab,还可以使用系统级 crontab: - 编辑 /etc/crontab - 或添加脚本到 /etc/cron.d/ 目录 - 系统级 crontab 需要指定执行用户: * * * * * username /path/to/script.sh

希望这些信息能帮助你设置 Linux 定时任务!如有更具体的需求,可以提供更多细节,我可以给出更精确的配置建议。