首页主机资讯ubuntu定时器怎么设置周期

ubuntu定时器怎么设置周期

时间2026-01-20 11:05:04发布访客分类主机资讯浏览762
导读:Ubuntu 定时器设置周期 一、使用 cron 设置分钟级周期 编辑当前用户的定时任务:crontab -e;如需以 root 身份:sudo crontab -e。 基本语法:分 时 日 月 周 命令(五个时间字段 + 要执行的命令)...

Ubuntu 定时器设置周期

一、使用 cron 设置分钟级周期

  • 编辑当前用户的定时任务:crontab -e;如需以 root 身份:sudo crontab -e
  • 基本语法:分 时 日 月 周 命令(五个时间字段 + 要执行的命令)。
  • 常用周期写法与示例:
    • 每分钟:每分钟执行" * * * * /path/to/cmd"*
    • 每5分钟:“*/5 * * * * /path/to/cmd”
    • 每2小时的第0分:*"0 /2 * * * /path/to/cmd"
    • 每天 02:00:“0 2 * * * /path/to/cmd”
    • 每周一 09:00:“0 9 * * 1 /path/to/cmd”
    • 每月 1 日 00:00:“0 0 1 * * /path/to/cmd”
  • 特殊符号:*(任意)、/(间隔,如 /10 表示每10个单位)、-(范围)、,*(枚举)。

二、秒级周期的可行做法

  • cron 最小粒度为1分钟,要实现“每10秒”这类秒级周期,可用“主任务 + 内循环”的方式:
    # 每10秒执行一次(第0-5分各触发一次,每次循环10秒)
    * * * * * for i in {
    0..5}
        ;
         do /usr/bin/your_cmd >
        >
         /var/log/your.log 2>
        &
        1;
         sleep 10;
         done
    
  • 说明:
    • 该写法依赖 shell 内建循环与 sleep,请确保命令路径为绝对路径,并将标准输出/错误重定向到日志以便排查。
    • 若脚本中用到 %(如 date 的格式化),在 crontab 里需写成 % 进行转义。

三、服务管理与常用命令

  • 查看状态:sudo systemctl status cron
  • 启动/停止/重启:sudo systemctl start|stop|restart cron
  • 列出/编辑/删除当前用户任务:crontab -l / crontab -e / crontab -r
  • 说明:修改后通常无需手动重启 cron,新任务会被自动加载;如遇到异常,再尝试重启服务。

四、日志与排错要点

  • Ubuntu 默认可能未开启 cron 日志,编辑 /etc/rsyslog.d/50-default.conf,取消注释行:cron. /var/log/cron.log*,然后重启 rsyslog:sudo systemctl restart rsyslog,即可通过 tail -f /var/log/cron.log 查看执行记录。
  • 建议在 crontab 顶部显式声明环境,避免 PATH/Shell 不一致导致“找不到命令”:
    SHELL=/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    * * * * * /absolute/path/to/script.sh >
        >
         /var/log/script.log 2>
        &
        1
    
  • 脚本务必使用绝对路径,并赋予可执行权限:chmod +x /path/to/script.sh

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu定时器怎么设置周期
本文地址: https://pptw.com/jishu/787055.html
如何在Debian更新Flutter版本 ubuntu定时器怎么设置时间

游客 回复需填写必要信息