Linux:计划任务之cron
cron:
- liunx上计划任务的系统级别、后台执行守护程序;最基本的liunx服务之一!!!
- 它每一分钟都会检查配置文件的变动情况
- 它每一分钟都会根据配置文件信息检查任务的执行情况
cron支持多个位置的配置文件:
- /var/spool/cron/crontabs/*:每分钟检查一次变动;每个用户有自己单独的配置文件;通过crontab命令编辑配置文件!
- /etc/crontab:实时监控;全局配置文件;与之配合的是cron.hourly、cron.daily、cron.weekly、cron.monthly目录下的run-parts任务目录
- /etc/cron.d/*:实时监控;全局配置文件
/var/spool/cron/crontabs/*下配置文件的语法、格式:
时间安排部分:支持:域值、列表、范围:使用逗号分隔;高级的有:间隔和别名
第一段:分钟:0-59
第二段:小时:1-23
第三段:日期:1-31
第四段:月份:1-12:可以使用文字名称
第五段:星期:0-7:0和7都表示星期日:可以使用文字名称
任务命令部分:任何有效命令或脚本
第六段:任务命令:任何有效命令或脚本
注:
- crontab命令总是会更新用户计划任务配置文件的修改时间
- 配置文件中可以设置需要的环境变量
- 各段之间使用空格分隔
- 时间段的月、星期可以使用文字标识
- 时间段的间隔“/n”、以及时间段的别名不是所有的linux系统都遵循的扩展用法
- 特殊的时间别名:Instead of the first five fields, one of eight special strings may appear:
string meaning
------ -------
- @reboot Run once, at startup.
- @yearly Run once a year, "0 0 1 1 *".
- @annually (same as @yearly)
- @monthly Run once a month, "0 0 1 * *".
- @weekly Run once a week, "0 0 * * 0".
- @daily Run once a day, "0 0 * * *".
- @midnight (same as @daily)
- @hourly Run once an hour, "0 * * * *".
/etc/crontab、/etc/cron.d/*下配置文件的语法、格式:
基本上和用户的配置文件相同,除了在命令段前有一个标识任务所属用户的用户字段
计划任务的用户控制:
/etc/cron.allow:最高优先级文件,只有在列表内的用户才可以使用crontab命令配置自己的计划任务
/etc/cron.deny:次级文件,如果cron.allow文件不存在,只有不在列表内的用户才可以使用crontab命令配置自己的计划任务
:如果cron.allow、cron.deny均不存在,得看系统的默认配置是什么,对ubuntu来说,所有用户都可以使用crontab!
crontab配置命令:
crontab [-u user] file #不知道是何种用法?
crontab [-u user] {-e(编辑用户配置文件)|-l(列出用户的计划任务)|-r(清除用户计划任务)}
分类:
Linux
【推荐】国内首个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)