Linux下使用Crontab定时执行脚本
很多时候我们需要服务器在某个时间段运行某个命令,比如执行某个脚本等。
这时我们就可以安装"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这个文件也行。
在文件下编写的格式是:* * * * * ‘任务’
比如下面这样:
第一个'*'是分钟。(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程序了。
如下所示:
这样就完美了。