crontab
开启crontab日志
修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # 删掉
1 | service rsyslog restart |
重启crontab
1 | service cron restart |
查看状态
1 | service cron status |
写定时任务
1 | crontab -e |
基本格式
1 | m h dom mon dow command |
说明:
m 分钟 0-59
h 小时 0-23
dow 天1-31
mon 月 1-12
dow 星期 1-6 0表示星期天
command 就是要执行的命令
还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
逗号 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
斜线 一般配合 * 使用,代表每隔多长时间,比如在分钟部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别
*/2 可以看成是能被2整除的任意值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 30 21 * * * /usr/local/etc/rc.d/lighttpd restart #表示每晚的21:30重启lighttpd 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #表示每月1、10、22日的4 : 45重启lighttpd 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #表示每周六、周日的1 : 10重启lighttpd 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #表示每星期六的11 : 00 pm重启lighttpd * */1 * * * /usr/local/etc/rc.d/lighttpd restart #表示每一小时重启lighttpd * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #表示晚上11点到早上7点之间,每隔一小时重启lighttpd 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #表示每月的4号与每周一到周三的11点重启lighttpd 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一号的4点重启lighttpd |
列出某个用户cron服务的详细内容
1 | crontab -l |
/etc/crontab
在这个文件里并没有记录系统要执行哪些工作,而是记录了下面四个子目录
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
这些存放了一些脚本,到了crontab所指定的时间点,系统就会去执行这些子目录里的脚本
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)