定时任务
emer 发布于 2018-10-9 10:22 2515 次阅读
2、定时任务
脚本有了,还需要在linux中添加一个定期执行脚本的任务,这里用linux自带的cron来处理这部分。
crontab -e
在打开的编辑器中添加如下内容(每个月1号凌晨3点更新)
0 0 3 * * sh /mnt/web/lets/ssl_auto_auth.sh >/dev/null 2>&1 &
使用crontab自动续期
在安装了lets encrypt证书之后,默认是90天到期,我们可以手动提前续期。不过为了防止忘记,我们可以采取让lets encrypt自动续期的方法。这里需要用到crontab定时执行命令。
一般来说CentOS系统里面都自动内置了crontab程序,如果没有,那么centos安装crontab命令如下:
yum install vixie-cron crontabs //安装Crontab
chkconfig crond on //设为开机自启动
service crond start //启动
说明:vixie-cron软件包是cron的主程序;crontabs软件包是用来安装、卸装、 或列举用来驱动 cron 守护进程的表格的程序。
Crontab使用方法
1、查看crontab定时执行任务列表
crontab -l
2、添加crontab定时执行任务
crontab -e
自动续签证书
Let’s Encrypt 证书只有 90 天的有效期,一旦我们忘记了就会失效了。所以建议使用crontab进行自动续期,让证书一直有效。
在Xhell中输入crontab -e添加命令,输入a进入编辑状态,然后用方向键选到新的一行,加上规则:
0 3 1 * * /root/certbot-auto renew –renew-hook “/etc/init.d/nginx reload”
按“ESC”退出编辑状态,输入:wq保存并退出。
用crontab -l命令查看一下是否存在刚才添加的定时命令。如果存在的话,那么每月1日的凌晨3点就会执行一次所有域名的续期操作。不过有请求次数的限制所以别太频繁了。
基本格式 :
* * * * * command
分 时 日 月 周 命令
解 释:
第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
例如定时请求某一个url : 00 03 * * * /usr/bin/curl http://crmpay.com/mpdown
脚本
#!/bin/sh
source /etc/profile