Linux下使用Crontab定时执行脚本

时间:2021-12-03 09:08:44

很多时候我们需要服务器在某个时间段运行某个命令,比如执行某个脚本等。

这时我们就可以安装"crontabs"这个软件了。

在我的CentOS服务器上是默认安装了,没有安装的可以运行:

yum install vixie-cron
yum install crontabs

vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

启动服务、关闭服务、重启服务 、重新载入配置的命令分别如下:

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

查看crontab的当前服务状态是:service crond status

 

 

启动完crontabs服务后就可以用crontab -e添加相同的任务了。

当然也可以编辑/etc/crontab这个文件也行。

在文件下编写的格式是:* * * * * ‘任务’

比如下面这样:

Linux下使用Crontab定时执行脚本

第一个'*'是分钟。(0-59)

第二个'*'是小时。(0-23)

第三个'*'是天。(1-31)

第四个'*'是月。(1-12)

第五个'*'是星期。(0-6当然0和7都可以表示星期天)

下面举几个例子。

*     *     *     *     *     ls    //每一分钟执行一次ls命令
7 * * * * ls //每个小时的第7分钟执行一次ls命令
*/7 * * * * ls //每7分钟执行一个一次ls命令
7 7 * * * ls //每天的7点过7分执行一次ls命令
7 7 7 * * ls //每个月的7号7点过7分执行一次ls命令
7 7 7 7/8 * ls //每年的7月和8月的7号7点过7分执行一次ls命令
7 7 * * 0 ls //每个星期天的7点过7分执行一次ls命令

 

一开始我用这个是用来执行Python3程序的,但发现以.py后缀的不是可执行文件,那怎么办呢?

在网上找到一个方法,可以写一个shell脚本,用来运行Python3程序,这样就可以定时去执行Python3程序了。

如下所示:

Linux下使用Crontab定时执行脚本

这样就完美了。