Crontab定时任务配置

Crontab定时任务配置一、开启crontab1.查看crontab是否启动sudolaunchctllist|grepcron2.检查需要的文件ls-al/etc/crontab3.如果crontab文件不存在则创建sudotouch/etc/crontab上述操作完成之后就可以正常使用crontab啦二、crontab服务开启、关闭1.开启su…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、开启crontab

1.查看crontab是否启动

sudo launchctl list | grep cron

Jetbrains全家桶1年46,售后保障稳定

2. 检查需要的文件

ls -al /etc/crontab

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

sudo touch /etc/crontab

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

二、crontab服务开启、关闭

1.开启

sudo /usr/sbin/cron start

2.重启

sudo /usr/sbin/cron restart

3.关闭

sudo /usr/sbin/cron stop

三、命令

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分钟执行一次
*/1 * * * *
  • 每小时的第3和第15分钟执行
3,15 * * * *
  • 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * *
  • 每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1
  • 每月的4号与每周一到周三的11点重启smb
0 11 4 * mon-wed /etc/init.d/smb restart
  • 每小时执行/etc/cron.hourly目录内的脚本
01 * * * * root run-parts /etc/cron.hourly

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

五、crontab 创建任务

  • 编辑定时任务,按下a ,进入vim编辑模式
crontab -e
  • 进入 vim 编辑模式,输入指定的定时任务,按esc,输入 :wq 保存并退出
# 每间隔 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文件首行加入

#coding=UTF-8

4. 路径问题

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

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

which python3.8
/usr/local/bin/python3.8

设定执行任务

30 8 * * * /usr/local/bin/python3.8 /user/loacl/bin/***/***.py

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)


相关推荐

  • 网页内容变化实时监控提醒(多个复杂的监控条件)

    网页内容变化实时监控提醒(多个复杂的监控条件)网页内容更新后,如果更新的内容满足一个或多个条件时,就发出报警提醒。1、如下图所示,地震台网站实时显示地震信息,如果发生新的地震且震级大于等于5.0级、震源深度小于50千米时报警提醒。先观察一下页面布局,最新的地震信息永远显示在第一行,因此我们也只需要监控第一行地震数据更新就可以了。首先,点击木头浏览器自动控制菜单下的项目管理器。2、在木头浏览器项目管理窗口左侧的步骤树中点击右键,新建一个定时控制步骤,并设定间隔30秒执行一次。3、新建一个打开网页的步骤,输入地震台网站地址4、新建一个元素

  • coredns_coredns配置域名

    coredns_coredns配置域名网上的coredns.yaml文档都是粘贴复制的,不知所以然,授人以鱼不如授人以渔,官方corednsyaml文件下载地址:https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/coredns/coredns.yaml.base1.下载corednsyamlwget不下来的手动去复制吧root@master01:mkdir/data/work/yaml/coredns/root@master01:~#c

    2022年10月22日
  • 深入理解JVM内存分配策略

    深入理解JVM内存分配策略理解JVM内存分配策略三大原则+担保机制JVM分配内存机制有三大原则和担保机制具体如下所示:优先分配到eden区 大对象,直接进入到老年代 长期存活的对象分配到老年代 空间分配担保对象优先在Eden上分配如何验证对象优先在Eden上分配呢,我们进行如下实验。打印内存分配信息首先代码如下所示:publicclassA{publicst…

  • sqlserver之清空表数据

    sqlserver之清空表数据方法—xxx为表名truncatetablexxx大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出revit二次开发以及编程干货

  • 如何使用ABAP代码反序列化JSON字符串成ABAP结构「建议收藏」

    如何使用ABAP代码反序列化JSON字符串成ABAP结构「建议收藏」如何使用ABAP代码反序列化JSON字符串成ABAP结构

  • LoadLibrary失败,GetLastError= 193

    LoadLibrary失败,GetLastError= 193LoadLibrary失败,GetLastError=193LoadLibrary失败,GetLastError报错193时,一般是加载的dll所依赖的某个dll它的依赖项不存在所报的错,可以用DependencyWalker验证该dll所依赖的加载项是否都存在。DependencyWalker安装vs时一般都自带有,如果没有也可以去官网下载http://www.dependencywal…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号