Linux Crontab 介绍
发布时间 - 2026-01-11 02:20:51 点击率:次crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

Crontab是什么
我总是喜欢将一些特别专业的词汇翻译成比较浅显易懂的词语,可能并不是很准确,但是我觉得更便于理解。
按照前人的解释,cron是系统主要的调度进程,可以在非人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。简单来说,当我们需要让系统执行一个定时任务时,我们就会用到它,比如定时重启tomcat,或者定时调用一个jar包来执行某项功能等。
1.Cron的启动与关闭
由于Cron是Linux的内置服务,可以用以下的方法启动.关闭这个服务:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
2.Cron配置文件
2.1全局配置文件
crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件.
cron.daily是每天执行一次的job,cron.weekly是每个星期执行一次的job.cron.monthly是每月执行一次的job,cron.hourly是每个小时执行一次的job.cron.d是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面.
/etc/crontab文件一般如下:
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
我们可在此文件中添加自己需要的cron job.
/etc/cron.deny文件就是用于控制不让哪些用户使用Crontab的功能.
2.2用户配置文件
每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.
linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.
3.Cron命令格式
crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }
-u:指定某一用户
-e:执行文字编辑器来设定用户(当前用户或指定用户)时程表,内定的文字编辑器是vi.
-r:删除用户时程表.
-l:列出用户时程表.
4.Cron文件格式
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59, 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
5.Cron文件使用说明
5.1 一般情况
当f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推.
* * * * * /bin/usershell 每天每分钟执行一次/bin/usershell
当f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推.
0-12 * * * * /bin/usershell 每天每小时从0到12分钟每分钟执行一次/bin/usershell
当f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推.
* */2 * * * /bin/usershell 每天每2小时执行一次/bin/usershell
当f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推.
* 1,3,5,7 * * * /bin/usershell 每天每逢1,3,4,7点执行一次/bin/usershell
5.2. 冲突逻辑
日期可以用月限定,也可以用“星期”指定,如果两个段有冲突,那么,第六段的命令将在匹配任何一个的情况下都运行,比如
"30 4 1,15 * 5",将在每月的1号和15号加每个周五,上午4:30运行.
5.3. 符号"%"
"%"在Cron文件中,有"结束命令行","换行","重定向"的作用,假如不需要"%"的特殊作用,需要使用转义符转义.
5.4. @reboot
这个不需要理解,为了达到在开机后运行,且只运行一次的目的.除了这个,也无法通过前五段的设置来实现.
@annually也是这个功能.
至于@yearly,@monthly等等其实都可以用上面的五段来设置.
以上所述是小编给大家介绍的Crontab 知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# crontab介绍
# linux
# crontab
# linux使用find和crontab命令定期清理过期文件
# 详解使用python crontab设置linux定时任务
# Linux crontab定时任务配置方法(详解)
# 浅谈Linux配置定时
# 使用crontab -e与直接编辑/etc/crontab的区别
# linux下使用crontab实现定时PHP计划任务失败的原因分析
# linux使用crontab实现PHP执行计划定时任务
# MySQL定时备份之使用Linux下的crontab定时备份实例
# 如何使用Linux的Crontab定时执行PHP脚本的方法
# 可以用
# 配置文件
# 都要
# 每分钟
# 在此
# 将在
# 不需要
# 重启
# 希腊语
# 编辑器
# 每小时
# 到第
# 小编
# 自己的
# 情况下
# 都有
# 放在
# 我觉得
# 不是很
# 这段
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
jQuery中的100个技巧汇总
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
油猴 教程,油猴搜脚本为什么会网页无法显示?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
*服务器网站为何频现安全漏洞?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
昵图网官网入口 昵图网素材平台官方入口
如何在阿里云高效完成企业建站全流程?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何有效防御Web建站篡改攻击?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
微信小程序 HTTPS报错整理常见问题及解决方案
如何解决hover在ie6中的兼容性问题
如何快速搭建二级域名独立网站?
魔方云NAT建站如何实现端口转发?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
公司门户网站制作流程,华为官网怎么做?
使用C语言编写圣诞表白程序
EditPlus中的正则表达式实战(5)
Laravel怎么使用artisan命令缓存配置和视图
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何在IIS7上新建站点并设置安全权限?
如何用y主机助手快速搭建网站?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
使用Dockerfile构建java web环境
Linux后台任务运行方法_nohup与&使用技巧【技巧】
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
网站图片在线制作软件,怎么在图片上做链接?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
如何在橙子建站上传落地页?操作指南详解
Python文本处理实践_日志清洗解析【指导】
详解Android中Activity的四大启动模式实验简述
如何在VPS电脑上快速搭建网站?
JavaScript如何实现错误处理_try...catch如何捕获异常?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Python3.6正式版新特性预览
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何在云主机上快速搭建网站?
浅述节点的创建及常见功能的实现
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel如何实现本地化和多语言支持?(i18n教程)
如何在阿里云服务器自主搭建网站?

