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

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

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

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

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

(0)


相关推荐

  • Article及ArticleList模板

    Article及ArticleList模板HTML5滑动条:tuicoolhttp://www.tuicool.com/articles/U36rMjZoschinahttp://www.oschina.net/p/spyder百度经验htt

  • Spring JDBC StoredProcedure类示例

    Spring JDBC StoredProcedure类示例org.springframework.jdbc.core.StoredProcedure类是RDBMS存储过程的对象抽象的超类。这个类是抽象的,目的是让子类将提供一个用于调用的类型化方法,该方法委托给所提供的execute(java.lang.Object…)方法。继承的sql属性是RDBMS中存储过程的名称。使用到的Student表的结构如下-CREATETAB…

  • vue组件化的理解_vue的组件化是如何实现的

    vue组件化的理解_vue的组件化是如何实现的前言有时候有一组html结构的代码,并且这个上面可能还绑定了事件。然后这段代码可能有多个地方都被使用到了,如果都是拷贝来拷贝去,很多代码都是重复的,包括事件部分的代码都是重复的。那么这时候我们就可以

  • sql declare的用法_oracle declare语法

    sql declare的用法_oracle declare语法平时写SQL查询、存储过程都是凭着感觉来,没有探究过SQL的具体语法,一直都是按c#那一套往SQL上模仿,前几天项目中碰到一个问题引起了我对declare定义变量的作用域的兴趣。大家都知道c#中的局部变量,在if中如果我们定义一个变量的话他的作用到if结束为止,if外是不识别这个变量的,else里都不能使用,简单的写一下。if (true){   Int32 i = 1;   Co…

  • menuconfig 配置选项详解

    menuconfig 配置选项详解转自:http://www.blog.chinaunix.net/uid-15887868-id-2758315.html在menuconfig中配置:详细介绍内核配置选项及删改情况第一部分:全部删除Codematurityleveloptions—>代码成熟等级选项[]Promptfordevelopmentand/orincompletecode/drivers…

  • python format()函数的用法

    python format()函数的用法Pythonformat()函数的用法复制自博主 chunlaipiupiupiu 的博客,如有侵权,请联系删除python中format函数用于字符串的格式化通过关键字

发表回复

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

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