方法:使用crontabs定时执行脚本
之前写了个发邮件的脚本
我想让他读取我在windows自动上传的公网ip日志的最后一个行ip并且每天9点自动发到我的邮箱里。就要定时执行这个发邮件的脚本,脚本目录在/root/mail.sh
1.安装 crontabs服务并设置开机自启
yum install crontabs -y
systemctl enable crond #设为开机启动
systemctl start crond #启动crond服务
systemctl status crond #查看是否启动
2.设置定时任务
打开配置文件/etc/crontab,编辑内容
在末尾加上一段
* 9 * * * root /root/mail.sh
**
这里面有5个" * "号
**
这里的从左到右分别代表
分钟(0-59),小时(0-23),每月的号数(1-31),月份(1-12),星期(0-6)
几个例子
*/30 * * * root /usr/local/mycommand.sh #(每天,每30分钟执行一次 mycommand命令)
* 3 * * * root /usr/local/mycommand.sh #(每天凌晨三点,执行命令脚本,PS:这里由于第一个的分钟没有设置,那么就会每天凌晨3点的每分钟都执行一次命令)
0 3 * * * root /usr/local/mycommand.sh #(这样就是每天凌晨三点整执行一次命令脚本)
*/10 11-13 * * * root /usr/local/mycommand.sh #(每天11点到13点之间,每10分钟执行一次命令脚本,这一种用法也很常用)
10-30 * * * * root /usr/local/mycommand.sh# (每小时的10-30分钟,每分钟执行一次命令脚本,共执行20次)
10,30 * * * * * root /usr/local/mycommand.sh# (每小时的10,30分钟,分别执行一次命令脚本,共执行2次)
3.加载任务,使之生效:crontab /etc/crontab
crontab /etc/crontab
查看任务:crontab -l
$ crontab -u 用户名 -l (列出用户的定时任务列表)
参考文章