Ubuntu定时执行任务

ubuntu定时执行任务

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

1:编辑crontab文件,用来存放你要执行的命令

sudo crontab -e

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

3:添加执行命令

0 7 * * *  /usr/bin/python /root/world.py

这句话的意思就是每天早上七点都会自动执行这个脚本!

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文件

 

实例分析:

更换成unix的换行符

vim world.py

查看格式

:set ff

 

发现是dos,我们要将其更换成unix

:set ff=unix

1 创建脚本文件world.py,在文件开头需要加上下面一行

 #!/usr/bin/python

# encoding=utf-8

 

上面这行的作用是说明使用那个解释器来执行该文件,如果不知道python解释器在哪,可以使用命令which python来查看

设置编码格式

2 给该文件添加可执行的权限

  chmod  +x  test.py

  注意:在脚本文件中如果涉及文件操作,请使用绝对路径,我就是在这上面掉坑里了。

3 添加计划任务

  crontab -e

  在文件中追加一行,* 7 * * * * /usr/bin/python /root/world.py

  保存退出,:wq

4 重启cron服务

  service cron restart

结束

 

posted @ 2020-03-21 23:42  清风紫雪  阅读(1159)  评论(0编辑  收藏  举报