前言

在服务器上有些代码不需要一直跑,间接性的或者定时的任务就需要使用linux自带定时工具 crontab

1.crontab 怎么进入

crontab -e

进入服务器后任何位置输入上面命令都可以进入,然后就可以当文件进行编辑

2.服务启动与关闭

运行 crontab -e,要么成功,要么就各种问题提示失败,原因就需要先看一下crontab的服务有没有启动

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

service crond status //查看服务状态

3.crontab -e 语法介绍

先给一个命令样例

1 0 * * * cd /home/; /root/anaconda2/bin/python update.py

解释一下:每天凌晨0点1分,切换到 home 目录下,然后调用 python 命令启动 update.py 程序

cd 命令之前是控制启动时间的,这个很重要,cd 以及之后的都是程序启动的命令,可以不管

控制时间说明

* * * * *

总共五个时间位置,每个位置中间空格分隔,

第一个星号到第五个星号分别表示:

分钟(0-59),小时(0-23),每月的哪天(1-31),月(1-12),周几(0-6)

每个位置写法说明:

星号(*):代表所有可能的值,如month字段为星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如在小时的位置“8-20/2”表示8点到20点之间每两小时执行一次

4.举几个常用栗子说明:

* */1 * * * /etc/init.d/smb restart 每一小时重启smb

* 23-7/1 * * * /etc/init.d/smb restart 晚上11点到早上7点之间,每隔一小时重启smb

0 23 * * 6 /etc/init.d/smb restart 每星期六的晚上11 : 00 重启smb

5.注意

crontab 命令编辑好以后记得保存,保存以后立即生效 如果是调用python命令,记得加上python的绝对路径,默认crontab 会调用系统自带的python

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐