**
由于项目需要,需要在服务器中同步日志文件,因此用到linux定时任务 服务器版本如下:
**
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
[root@IMS_Qapp2 logsycn]# cat /etc/release
CentOS Linux release 7.4.1708 (Core)
Derived from Red Hat Enterprise Linux 7.4 (Source)
NAME=“CentOS Linux”
VERSION=“7 (Core)”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“7”
PRETTY_NAME=“CentOS Linux 7 (Core)”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:centos:centos:7”
HOME_URL=“https://www.centos.org/”
BUG_REPORT_URL="https://bugs.centos.org/"
定时器任务详解:
一.安装 crontabs服务并设置开机自启:
yum install crontabs
systemctl enable crond
systemctl start crond
二.设置用户自定义定时任务:
Prettyprint代码:
vi /etc/crontab
可以看到:
Prettyprint代码 :
如果没有以上信息,可以先执行加载命令:
crontab /etc/crontab
#增加定时任务
crontab -e
即:
分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令
每隔30分钟root执行一次updatedb命令:
Prettyprint代码:
*/30 * * * * root updatedb
每天早上5点定时重启系统:
Prettyprint代码:
0 5 * * * root reboot
每隔30秒执行一次目录下的xxx.sh脚本:
Prettyprint代码:
三.保存生效:
Prettyprint代码:
#查看任务
crontab -l
实例 | |
---|---|
每1分钟执行一次 | * * * * * command/1 * * * * command |
每小时的第15,30,45分钟执行 | 15,30,45 * * * * command |
7点到10点的第10,50分钟执行 | 10,20 7-50 * * * command |
每隔一天的7点到11点的第20和第40分钟执行 | 20,40 7-11 */1 * * command |
每周一的7点到11点的第25和第50分钟执行 | 25,50 7-11 * * 1 command |
每天的3:30执行 | 30 3 * * * command |
每月1、10、20日的3 : 30执行 | 30 3 1,10,20 * * command |
每周六、周日的3 : 30执行 | 30 3 * * 6,0 command30 3 * * 6,7 command |
每天9点到16点之间每隔15分钟执行 | /15 9-16 * * * command |
提供一下比较全面的crontab 文章以供参考:
http://c.biancheng.net/view/1092.html
注意事项:
1.写的过程中注意换行符,空格符等
2.要给需要执行脚本文件授权,否则,无任何反应
3.网上说的,写完脚本命令之后,#加载任务,使之生效 “crontab /etc/crontab ”,但 在实际过程中会清空你的定时任务命令
4.如果需要重启定时服务的话,需要执行重启定时任务命令:
(1).linux下 crontab服务对应的是crond服务。可以通过service crond restart重启
(2).centos7系统下服务可以通过systemctl来重启,systemctl restart crond