首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Crontab定时任务配置

Crontab定时任务配置

作者头像
全栈程序员站长
发布于 2022-11-01 06:59:27
发布于 2022-11-01 06:59:27
3.8K00
代码可运行
举报
运行总次数:0
代码可运行

一、开启crontab

1.查看crontab是否启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo launchctl list | grep cron

2. 检查需要的文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -al /etc/crontab

3. 如果 crontab 文件不存在则创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo touch /etc/crontab

上述操作完成之后就可以正常使用crontab啦

二、crontab服务开启、关闭

1.开启

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/sbin/cron start

2.重启

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/sbin/cron restart

3.关闭

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/sbin/cron stop

三、命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab [-u user] file
crontab -e
crontab -l
crontab -r
crontab -i

1. crontab -u user

  • -u user :用来设定某个用户的 crontab 服务;
  • file :命令文件的名字,表示将 file 做为 crontab 的任务列表文件,载入 crontab。如果命令行中没有指定这个文件,crontab 将接受标准输入,即键盘上键入的命令,并载入 crontab

2. crontab -e

  • 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab文件;
  • 进入之后如果编辑不了,先按一下a,就可以进入编辑了。
  • 编辑完成之后保存和退出

先按esc, 输入 :wq ,即保存并退出

3. crontab -l

  • 显示某个用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab文件内容;

4.crontab -r

  • /var/spool/cron 目录中,删除某个用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。

5.crontab -i

  • 在删除用户的crontab文件时给确认提示。

四、crontab 文件格式

1. 格式

  • 第1列:分钟,0~59
  • 第2列:小时,0~23
  • 第3列:日期,1~31
  • 第4列:月份,1~12
  • 第5列:星期,0~7(0和7表示星期天)
  • 第6列:要运行的命令(如果有多个命令用 && 隔开)

2. 特殊字符

  • 星号(*) :代表所有可能的值,例如,month字段如果是星号,则表示在满足其它字段的制约条件后,每月都执行该命令操作;
  • 逗号(,) :可以用逗号隔开的值,指定一个多元素的列表,例如:1,2,5,7,8,9
  • 中杠(-) :可以用整数之间的中杠表示一个整数范围,例如“2-6”表示:2,3,4,5,6
  • 正斜线(/) :可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

3. 示例:

  • 每1分钟执行一次
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*/1 * * * *
  • 每小时的第3和第15分钟执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3,15 * * * *
  • 每隔两天的上午8点到11点的第3和第15分钟执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3,15 8-11 */2 * *
  • 每个星期一的上午8点到11点的第3和第15分钟执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3,15 8-11 * * 1
  • 每月的4号与每周一到周三的11点重启smb
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 11 4 * mon-wed /etc/init.d/smb restart
  • 每小时执行/etc/cron.hourly目录内的脚本
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
01 * * * * root run-parts /etc/cron.hourly

说明: run-parts这个参数,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了

五、crontab 创建任务

  • 编辑定时任务,按下a ,进入vim编辑模式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -e
  • 进入 vim 编辑模式,输入指定的定时任务,按esc,输入 :wq 保存并退出
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 每间隔 3分钟,执行一次python脚本jupyter_convert.py

*/3 * * * * python /Users/******/jupyter_convert.py

六、常见问题

1. 使用crontab执行脚本时,要确保 crontab 和脚本是否开启执行权限;

2. 执行报错,可通过输入 mail 查看具体问题

3. 执行报错问题为python编码问题 : SyntaxError: Non-ASCII character ‘\xe6’ in file *******,可尝试如下方法:在python文件首行加入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#coding=UTF-8

4. 路径问题

单独执行定时任务时候没有问题,单独执行python脚本没有问题,此定时任务不执行原因是因为python路径要写绝对路径

首先在linux上执行命令:where is python3.8 或者 which python3.8,得到python的绝对路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which python3.8
/usr/local/bin/python3.8

设定执行任务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
30 8 * * * /usr/local/bin/python3.8 /user/loacl/bin/***/***.py

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200634.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux命令之Crontab——定时任务
rontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
浩Coding
2020/03/04
1.3K0
linux设置crontab任务_定时任务crontab每天7点执行
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
全栈程序员站长
2022/09/23
8.8K1
linux设置crontab任务_定时任务crontab每天7点执行
linux定时任务crontab详解
0 0 1,15 * 1 表示的是:每月1号和15号的0点0分执行,每周一的0点0分执行。两者是或的关系,但不要有这种写法,很容易产生歧义
章鱼喵
2019/03/06
5.7K0
linux定时任务crontab详解
【linux命令讲解大全】194.掌握Linux定时任务调度:深入解析crontab命令及其使用技巧
crontab 命令用于提交和管理用户的周期性执行任务,类似于 Windows 下的计划任务。在安装完成操作系统后,默认会安装此服务工具,并自动启动 crond 进程。crond 进程每分钟会定期检查是否有要执行的任务,并自动执行。
全栈若城
2024/03/02
5710
Linux定时任务Crontab命令详解
linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。 /etc/crontab文件包括下面几行: cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=HOME=/ #run-parts 51 * * * * root run-parts /etc/cron.hourly 24 7 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
互联网-小阿宇
2022/11/21
3.8K0
Linux定时任务Crontab命令详解
Linux之crontab定时任务
****前言**** 无论是做开发还是做运维的程序猿,crontab命令是必须用到的命令,特别是对于运维的人,自动化运维中,crontab也属于其一。然而就来记录常用的crontab定时处理命令。 ---- ****crontab简介**** 简而言之呢,crontab就是一个自定义定时器。 ---- ****crontab配置文件**** 其一:/var/spool/cron/ 该目录下存放的是每个用户(包括root)的crontab任务,文件名以用户名命名 其二:/etc/cron.d/ 这个目
AlicFeng
2018/06/08
2.5K0
Linux学习21-设置定时任务crontab
做自动化测试写的脚本需设置定时任务,在指定的时间去执行,这就需要用到定时任务。之前用jenkins可以在里面设置定时任务,很好用,其实不用jenkins,在linux上也可以用crontab做个定时任务。 本篇学下crontab定时任务的语法,制作一个简单的python脚本文件,使用crontab定时执行
上海-悠悠
2019/07/12
1.6K0
Java 微服务中使用定时任务
https://zh.wikipedia.org/wiki/Cron https://www.jianshu.com/p/d93e2b177814
张云飞Vir
2021/07/28
7150
linux计划任务Crontab
cron是一个可以根据时间,日期,月份的组合来设定重复执行的任务进程。但是当某一任务调度时系统不在运行,该任务就不在执行。 cron 的主配置文件是 /etc/crontab: SHELL=/bin/bash #告诉系统使用哪一个shell环境 PATH=/sbin:/bin:/usr/sbin:/usr/bin #Path用来定义执行命令的路径 MAILTO=root #cron 任务的输出被邮寄给MAILTO 变量定义的用户名。如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出 HOME=/ #HOME 变量可以用来设置在执行命令或脚本时使用的主目录 # run-parts 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
Tim在路上
2020/08/05
2.5K0
linux定时任务
图为某系统默认的定时任务,可看出,根据不同的任务规则,执行了不同的任务,里面的配置大概分为以下几种:
仙士可
2019/12/18
14.4K0
centos 8利用crontab设置定时任务,crontab每秒运行
  简单说明: vixie-cron 是 cron 的主程序; crontabs 是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
OwenZhang
2021/12/08
1.9K0
centos 8利用crontab设置定时任务,crontab每秒运行
定时任务之crontab命令
  2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
那一叶随风
2018/09/27
1.3K0
定时任务之crontab命令
Linux Crontab 定时任务(转载非原创)
转载来源:https://www.cnblogs.com/mrwhite2020/p/15313228.html
xlj
2021/09/23
4460
Linux 定时任务
crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
chuchur
2022/10/25
5K0
Linux Crontab 定时任务执行命令方法
linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。
用户5005176
2021/08/25
2.3K0
CentOS 6系统crontab计划任务
00 02 * * 6 /sbin/reboot  > /dev/null 2>&1
会长君
2023/04/25
1.6K0
Linux crontab 定时任务整理笔记
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/79088555
泥豆芽儿 MT
2018/09/11
1.5K0
Linux crontab 定时任务整理笔记
Centos crontab定时任务
CRONTAB是一个用于设置周期性被执行的任务的工具,有了它,我们就可以从定时工作中解放出来。
用户1214487
2018/07/31
1.1K0
Centos crontab定时任务
Linux Crontab 定时任务
cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。
红目香薰
2022/11/29
6K0
Linux Crontab 定时任务
crontab command
Linux 周期性任务 与 Windows 下的计划任务类似,当安装完操作系统后,默认会安装此服务工具,并且会自动启动 crond 进程。crond 进程每分钟会检查是否有要执行的任务,如果有则执行该任务。
恋喵大鲤鱼
2023/10/12
3480
相关推荐
Linux命令之Crontab——定时任务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档