ubuntu定时器怎么设置周期
导读: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
