Linux 定时任务 crontab

2025-12-17 17:39:19 331

Linux 定时任务 crontab


欢迎来到8455线路检测中心技术小课堂,每天分享一个技术小知识。在Linux服务器运维中,crontab是“自动化神器”——日志切割、数据备份、脚本执行都靠它实现,但新手常因记不住语法或配置错误导致任务不执行。今天我们聚焦crontab命令,讲清语法规则、核心命令和避坑技巧,全是实操干货,5分钟就能上手配置定时任务。


一、核心:crontab 语法速记

crontab 任务格式:分 时 日 月 周 命令/脚本路径,5个时间字段对应任务执行时机,记牢字段含义和特殊符号是关键。

  1. 时间字段含义(从左到右)

  • :0-59(每分钟用*,每5分钟用*/5)

  • :0-23(凌晨3点用3,12点用12)

  • :1-31(每月1号用1,每月最后一天用L)

  • :1-12 或 Jan-Dec(1月用1或Jan)

  • :0-7 或 Sun-Sat(周日用0/7或Sun,每周一用1或Mon)


2. 3个高频特殊符号(必须记)

  • *:代表所有值(如“分”字段用*,表示每分钟执行)

  • /:代表间隔(如“时”字段用*/2,代表每2小时执行)

  • ,:代表多个值(如“周”字段用1,3,5,代表每周一、三、五执行)


3. 经典示例(直接套用)

  • 每天凌晨2点执行备份脚本:0 2 * * * /opt/backup.sh

  • 每周一、三、五下午3点15分执行日志清理:15 15 * * 1,3,5 /opt/clean_log.sh

  • 每小时的第10分钟执行命令:10 * * * * echo "定时任务" >> /tmp/test.log

  • 每月1号和15号的凌晨4点执行数据库优化:0 4 1,15 * * /opt/optimize_db.sh


二、常用命令:从创建到管理

  • 编辑定时任务crontab -e → 进入vim编辑模式,按语法添加任务

  • 查看当前任务crontab -l → 列出当前用户所有定时任务

  • 删除所有任务crontab -r → 谨慎使用,会清空所有任务

  • 指定用户查看任务crontab -u root -l → 查看root用户的定时任务(需root权限)

  • 重启crond服务systemctl restart crond → 任务不执行时先重启服务(CentOS)


三、新手必避的4个坑

  1. 命令路径用绝对路径:避免用backup.sh,必须写/opt/backup.sh,否则crontab找不到命令

  2. 输出重定向:任务默认无输出,需手动定向日志,例:0 2 * * * /opt/backup.sh > /tmp/backup.log 2>&1(2>&1表示将错误输出也写入日志)

  3. 环境变量问题:crontab环境变量精简,脚本中需写全命令路径(如用/usr/bin/mysql而非mysql

  4. 权限问题:普通用户的任务不能执行root权限命令,需用sudo且配置免密(编辑/etc/sudoers文件)


四、总结

crontab 定时任务核心是“语法正确+路径精准”,新手先记牢“分-时-日-月-周”的字段顺序,用经典示例套用需求,再通过日志排查执行问题。日常运维中,数据备份和日志清理是最常用场景,配置后记得用crontab -l验证,确保任务生效。

8455线路检测中心官网上有更详细的Linux定时任务手册,包含复杂场景配置、任务监控等进阶内容,大家可自行查阅。更多技术问题,可直接咨询8455线路检测中心技术支持;我们整理的“Linux运维工具包”中,也包含了常用定时任务脚本模板,需要的朋友随时联系获取。

> /tmp/test.log"},"attribs":{"0":"*0+e*0*1+13"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"bullet"}},"QUnpfnosMdtU6Vc0wLjcjxyVnIf":{"id":"QUnpfnosMdtU6Vc0wLjcjxyVnIf","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"每月1号和15号的凌晨4点执行数据库优化:0 4 1,15 * * /opt/optimize_db.sh"},"attribs":{"0":"*0+l*0*1+w"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"bullet"}},"NKMyf0gXHdABOWcjhYEcZfJPnJf":{"id":"NKMyf0gXHdABOWcjhYEcZfJPnJf","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"二、常用命令:从创建到管理"},"attribs":{"0":"*0+d"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"heading2"}},"EOLxfDhZIdtzLlcNmjKcczvCnxh":{"id":"EOLxfDhZIdtzLlcNmjKcczvCnxh","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"编辑定时任务:crontab -e → 进入vim编辑模式,按语法添加任务"},"attribs":{"0":"*1*0+6*1+1*1*2+a*1+k"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"SCfWf2ZoZdzsGfcHQPKcuSklnlb":{"id":"SCfWf2ZoZdzsGfcHQPKcuSklnlb","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"查看当前任务:crontab -l → 列出当前用户所有定时任务"},"attribs":{"0":"*1*0+6*1+1*1*2+a*1+f"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"W0r9fCQBgdK8p2cpPdzcapC0nOf":{"id":"W0r9fCQBgdK8p2cpPdzcapC0nOf","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"删除所有任务:crontab -r → 谨慎使用,会清空所有任务"},"attribs":{"0":"*1*0+6*1+1*1*2+a*1+f"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"FJrQfszFrdnKLacKSmmcIxuTnBe":{"id":"FJrQfszFrdnKLacKSmmcIxuTnBe","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"指定用户查看任务:crontab -u root -l → 查看root用户的定时任务(需root权限)"},"attribs":{"0":"*1*0+8*1+1*1*2+i*1+p"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"X913fLEKudKXd9cwEnUcVW7mnqh":{"id":"X913fLEKudKXd9cwEnUcVW7mnqh","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"重启crond服务:systemctl restart crond → 任务不执行时先重启服务(CentOS)"},"attribs":{"0":"*1*0+9*1+1*1*2+n*1+m"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"TR7Sfi851dedh2coWN5cM5RqnId":{"id":"TR7Sfi851dedh2coWN5cM5RqnId","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"三、新手必避的4个坑"},"attribs":{"0":"*0+a"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"heading2"}},"BqUjfLMukdXtrbcvPkYc6bXBn9c":{"id":"BqUjfLMukdXtrbcvPkYc6bXBn9c","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"命令路径用绝对路径:避免用backup.sh,必须写/opt/backup.sh,否则crontab找不到命令"},"attribs":{"0":"*1*0+9*1+4*1*2+9*1+4*1*2+e*1+f"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"ordered","seq":"1"}},"ZG2xfKJUid8FPIcflsqc8ja7nMc":{"id":"ZG2xfKJUid8FPIcflsqc8ja7nMc","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"输出重定向:任务默认无输出,需手动定向日志,例:0 2 * * * /opt/backup.sh > /tmp/backup.log 2>&1(2>&1表示将错误输出也写入日志)"},"attribs":{"0":"*1*0+5*1+j*1*2+1b*1+i"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"ordered"}},"Pt6zfeQWhdlm5HcZcGPcebkNnHh":{"id":"Pt6zfeQWhdlm5HcZcGPcebkNnHh","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"环境变量问题:crontab环境变量精简,脚本中需写全命令路径(如用/usr/bin/mysql而非mysql)"},"attribs":{"0":"*1*0+6*1+s*1*2+e*1+2*1*2+5*1+1"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"ordered"}},"XOYrfBoGudKcjec7wb2cowc4nic":{"id":"XOYrfBoGudKcjec7wb2cowc4nic","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"权限问题:普通用户的任务不能执行root权限命令,需用sudo且配置免密(编辑/etc/sudoers文件)"},"attribs":{"0":"*1*0+4*1+n*1*2+4*1+8*1*2+c*1+3"}},"apool":{"numToAttrib":{"0":["bold","true"],"1":["author","974610658236027"],"2":["inlineCode","true"]},"nextNum":3}},"type":"ordered"}},"D7Gafy2qAdVnw1ceFQ9cfwEUnKd":{"id":"D7Gafy2qAdVnw1ceFQ9cfwEUnKd","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"四、总结"},"attribs":{"0":"*0+4"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"heading2"}},"QGl9fL7Undj1u3ccHwscQrxtnUf":{"id":"QGl9fL7Undj1u3ccHwscQrxtnUf","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"crontab 定时任务核心是“语法正确+路径精准”,新手先记牢“分-时-日-月-周”的字段顺序,用经典示例套用需求,再通过日志排查执行问题。日常运维中,数据备份和日志清理是最常用场景,配置后记得用crontab -l验证,确保任务生效。"},"attribs":{"0":"*0+2r*0*1+a*0+a"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"text"}},"Wf0Dfqy8XdLlzAcSg4Cc7ua3nYc":{"id":"Wf0Dfqy8XdLlzAcSg4Cc7ua3nYc","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Br3ff0zapd7g2BcFJ2YcloLBnTg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"8455线路检测中心官网上有更详细的Linux定时任务手册,包含复杂场景配置、任务监控等进阶内容,大家可自行查阅。更多技术问题,可直接咨询8455线路检测中心技术支持;我们整理的“Linux运维工具包”中,也包含了常用定时任务脚本模板,需要的朋友随时联系获取。"},"attribs":{"0":"*0+38"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"text"}}},"payloadMap":{"OZtjfwv2pdqg3zcGsWVcvOGanPf":{"level":1},"XjALfZEX8dzKCncWqHOcUna3nKZ":{"level":1},"QGl9fL7Undj1u3ccHwscQrxtnUf":{"level":1},"Wf0Dfqy8XdLlzAcSg4Cc7ua3nYc":{"level":1}},"extra":{"channel":"saas","pasteRandomId":"d616e073-40cf-4afb-b44a-b553fe60cdd9","mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"selection":[{"id":107,"type":"block","recordId":"Br3ff0zapd7g2BcFJ2YcloLBnTg"},{"id":108,"type":"block","recordId":"OZtjfwv2pdqg3zcGsWVcvOGanPf"},{"id":109,"type":"block","recordId":"Gx7LfHjmKd8td1cqCw7cTkOunXg"},{"id":110,"type":"block","recordId":"XjALfZEX8dzKCncWqHOcUna3nKZ"},{"id":111,"type":"block","recordId":"JSMtfUEWTdD7vacpexfcrQzqnbg"},{"id":112,"type":"block","recordId":"KofSfrwPEd4RHJcFzrKcYEwyn8g"},{"id":113,"type":"block","recordId":"CpzNf09ehdk7btcIXyPcFn4unSf"},{"id":114,"type":"block","recordId":"Ce3GfPqZidsfAocLvDccXhswnJg"},{"id":115,"type":"block","recordId":"XLaSfBGlmdkA2HceOajcKXmtnjb"},{"id":116,"type":"block","recordId":"Dk9Df1Ewwdth1nceTX7cn7V8nve"},{"id":117,"type":"block","recordId":"Br2YfLjbCdTkxRcP4XTch3sHnKM"},{"id":118,"type":"block","recordId":"UVtXfRaKPd8VFQcDV9xc93QnnPe"},{"id":119,"type":"block","recordId":"Btz0f8G8CdbzlVcqJ7lcFQPCnyh"},{"id":120,"type":"block","recordId":"MwO5fPcwMdcKJBcpu0TcWYCGnad"},{"id":121,"type":"block","recordId":"T07IfWOfJdCo84cUjLPcbNARn3b"},{"id":122,"type":"block","recordId":"N5qxfH0m4dlJAfcNMUuchXlcnKf"},{"id":123,"type":"block","recordId":"HznEfsRXddKsmqcnHotcQoKvned"},{"id":124,"type":"block","recordId":"MrASfwoYxdbosBcBp6CcLSAbnnh"},{"id":125,"type":"block","recordId":"QUnpfnosMdtU6Vc0wLjcjxyVnIf"},{"id":126,"type":"block","recordId":"NKMyf0gXHdABOWcjhYEcZfJPnJf"},{"id":127,"type":"block","recordId":"EOLxfDhZIdtzLlcNmjKcczvCnxh"},{"id":128,"type":"block","recordId":"SCfWf2ZoZdzsGfcHQPKcuSklnlb"},{"id":129,"type":"block","recordId":"W0r9fCQBgdK8p2cpPdzcapC0nOf"},{"id":130,"type":"block","recordId":"FJrQfszFrdnKLacKSmmcIxuTnBe"},{"id":131,"type":"block","recordId":"X913fLEKudKXd9cwEnUcVW7mnqh"},{"id":132,"type":"block","recordId":"TR7Sfi851dedh2coWN5cM5RqnId"},{"id":133,"type":"block","recordId":"BqUjfLMukdXtrbcvPkYc6bXBn9c"},{"id":134,"type":"block","recordId":"ZG2xfKJUid8FPIcflsqc8ja7nMc"},{"id":135,"type":"block","recordId":"Pt6zfeQWhdlm5HcZcGPcebkNnHh"},{"id":136,"type":"block","recordId":"XOYrfBoGudKcjec7wb2cowc4nic"},{"id":137,"type":"block","recordId":"D7Gafy2qAdVnw1ceFQ9cfwEUnKd"},{"id":138,"type":"block","recordId":"QGl9fL7Undj1u3ccHwscQrxtnUf"},{"id":139,"type":"block","recordId":"Wf0Dfqy8XdLlzAcSg4Cc7ua3nYc"}],"pasteFlag":"c343ff46-52dd-4646-896d-15cadf57ac02"}" data-lark-record-format="docx/record" class="lark-record-clipboard">


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图