ubuntu定时执行任务

ubuntu定时执行任务前几天女神给我发了条消息,“为什么我每天早上九点都会收到你给我发的天气信息的邮件?”然后……当然,我是不可能告诉她,我是用crontab来定时执行python脚本滴!好了,废话不多说,直接进入正题!ubuntu定时执行脚本cron是一个Linux下的后台进程,用来定期的执行一些任务。因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效。查看cron是否运行ps-

大家好,又见面了,我是你们的朋友全栈君。

前几天女神给我发了条消息,“为什么我每天早上九点都会收到你给我发的天气信息的邮件?”然后……
当然,我是不可能告诉她,我是用crontab来定时执行python脚本滴!
好了,废话不多说,直接进入正题!

ubuntu定时执行任务

cron是一个Linux下的后台进程,用来定期的执行一些任务。因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效。

查看cron是否运行

ps -ef | grep cron

这里写图片描述
开始的时候,我的ubuntu的cron不是自动运行的,所以sudo service cron start
1:编辑crontab文件,用来存放你要执行的命令

sudo crontab -e

2:第一次用这个命令,会让你选择文本编辑器,我选的是vim
(输入数字选择就是了!)

3:添加执行命令

0 9 * * * /home/katyusha/code/sendemail.py

sendeamil.py就是我给女神发邮件的脚本,这句话的意思就是每天早上九点都会自动执行这个脚本!(至于0 9 * * *这些东西,以下会详解!)
这里写图片描述

4:重启cron来应用这个计划任务

sudo service cron restart

corntab详细说明

1:crontab文件的基本格式如下所示

* * * * * command
分 时 天 月 周 命令

crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:
分钟 0 – 59
小时 0 – 23
天 1 – 31
月 1 – 12
星期 0 – 6 0表示星期天
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

2:crontab例子
(1)30 20 * * * date >> /home/date.log //每天的20:30将日期信息追加home目录下的date.log中
(2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分将日期信息最追加home目录下的date.log中
(3)0,10 10,12 * * * date >> /home/date.log //每天10点至12点之间,隔10分钟将日期信息最追加home目录下的date.log中
(4)/5 * * * date >> /home/date.log //每5分钟将日期信息最追加home目录下的date.log中

3:crontab是UNIX系统下定期执行任务的触发器。用户把要定期执行的任务记录在这个文件下面,然后crond定期的去检查这个定期执行列表,有要执行的工作时便自动执行。
通过man crontab可以查看到下面的信息
(1)/etc/crond.allow 表示的是允许使用crontab的用户列表
(2)/etc/crond.deny 表示的是不允许使用crontab的用户列表

4: crontab常用的几个命令格式
crontab -l //显示用户的crontab文件的内容
crontab -e //编辑用户的crontab文件的内容
crontab -r //删除用户的crontab文件

好了crontab的就说到这里了,以后大家就可将从网上爬取的数据,定时以邮件的形式发给各自的女神了!
刚巧我的女神要用邮件!
(哈哈哈哈哈!)
这里写图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • elasticsearch集群搭建对服务器硬件_elasticsearch开发

    elasticsearch集群搭建对服务器硬件_elasticsearch开发elasticsearchARM架构集群搭建一、搭建环境搭建服务器IP环境es版本号路径20.10.0.xxCentOSLinuxrelease7.9.2009(AltArch)elasticsearch-7.13.1-aarch64./data/elsticsearch/*20.10.0.xxCentOSLinuxrelease7.9.2009(AltArch)elasticsearch-7.13.1-aarch64/data/elstics

    2022年10月13日
    3
  • Postman使用教程图解

    Postman使用教程图解postman的主要功能1、模拟HTTPrequests的一些方法:get、post、put等2、Collection:测试集合,你每测试一个项目建立一个collection,把请求放在一起,方便日后查阅,而且还能Import或者Share,整个团队的人都可以看到;3、Response形式多样一般在用其他工具来测试的時候,response的内容通常都是纯文字的raw,但如果是JSON,就是塞成一整行的JSON。这会造成阅读的障碍,而Postman可以针对response

    2022年5月31日
    50
  • Werkzeug_@mapkey注解

    Werkzeug_@mapkey注解在Python中,除了线程还有一些其他的并发方法如协程。所以在一个WSGI服务中,我们不能保证所有的请求都是以线程的形式存在。另外一种情况是当前请求复用了之前请求的线程,所以上一个请求的数据留在了当前请求的ThreadLocal对象中。Werkzeug提供了自己的Local数据存储werkzeug.local。其提供了与ThreadLocal近似的功能,但是可以运行线程和greenlet中…

    2022年9月27日
    4
  • AIC和BIC准则详解

    AIC和BIC准则详解很多参数估计问题均采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价,同时带来一个机器学习中非常普遍的问题——过拟合。所以,模型选择问题在模型复杂度与模型对数据集描述能力(即似然函数)之间寻求最佳平衡。人们提出许多信息准则,通过加入模型复杂度的惩罚项来避免过拟合问题,此处我们介绍一下常用的两个模型选择方法:1.赤池信息准则(AkaikeInformationCriterion,AIC)AIC是衡量统计模型拟合优良性的一种标准,由日本统计学家赤池弘次在

    2022年5月23日
    80
  • C语言优先级 运算符

    C语言优先级 运算符1、最高级:出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。()圆括号[]下标运算符号->指向结构体成员运算符.结构体成员运算符2、第二级:!、~、++、–、-、(类型)、*、&、sizeof。这一级都是单目运算符号,这一级的结合方向是从右向左。比如出现*p++,这时*和++同级别,先算右边,再左边。所以*p+…

    2022年6月16日
    37
  • 打印九九乘法口诀表的代码_19x19乘法口诀表打印

    打印九九乘法口诀表的代码_19x19乘法口诀表打印1/*2打印九九乘法口诀表3*/45publicclassNineNine{6publicstaticvoidmain(String[]args){7for(

    2022年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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