【Linux】CentOS7使用crond定时执行脚本

有一些不可描述的服务,可能在执行时间过长以后出现一些问题,如果设置每天在某个不需要的时刻重启一下,可能是一个很好的解决办法。写好这篇笔记,以后再装服务器的时候就知道如何快速解决问题了。

0x00 修改配置

vim /etc/crontab

打开以后看到的文件是这样子的:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

如果你仔细读一下英文还是很快就可以理解的,一行就是一个定时脚本任务,

A B C D E F G

对应上面的ABCDEFFG分别代表:

A –> 第几分钟,如果这里填1,代表在60分钟里面,只有第1分钟的时候脚本才会被执行。如果这里填30就代表第30分钟的时候会被执行
B –> 第几小时,如果这里填1,代表在24小时里面,只有第1小时的时候脚本才会被执行。如果A=30,B=1,那么代表会在1:30这个时刻执行脚本
C –> 第几天,这里要注意每个月的天数是不同的哦
D –> 第几个月
E –> 周几,如果你希望是每个周五执行,那么应该设置 C=* D=* E=4,*号表示所有,又因为是按照星期天开始排的,所以4对应周五
F –> 表示执行用户的名字,我一般默认为root
G –> 真正执行的脚本,我的是ssserver -c /etc/shadowsocks.json -d stop & ssserver -c /etc/shadowsocks.json -d start

最后贴上我自己的配置文件,便于我自己后面使用:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
  0  4  *  *  * root ssserver -c /etc/shadowsocks.json -d stop & ssserver -c /etc/shadowsocks.json -d start

简单解释一下,这个配置就表示每天的四点钟重启一下我那个不可描述的服务

0x01 启用服务

启用服务很简单,首先我们不管之前服务是否有在运行,我们先让它重新加载配置文件

service crond reload

OK以后再启动或者重启一下服务

启动:

service crond start

重启:

service crond restart

最后还有一个简单的停止:

service crond stop

0x02 查看日志

这个有点像nohup,它会在/var/log/cron这个文件中生成日志文件,我们只需要

tail -f /var/log/cron

就可以看到实时的日志了

参考资料:Linux—CentOS 定时运行脚本配置

猜你喜欢

转载自blog.csdn.net/baofeidyz/article/details/80140330