Centos7定时计划任务设置
就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用。再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个服务是系统自带的,可以直接查看状态,启动,停止。
1、安装crontabs服务:
yum install crontabs
2、启动crond服务并设为开机启动:
systemctl start crond
systemctl enable crond
3、查看状态:
systemctl status crond
4、设置用户自定义定时任务,修改并保存:
vi /etc/crontab
输出结果可以看到:
# 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-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令
*/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次
5、加载任务,使之生效:
crontab /etc/crontab
6、查看任务:
crontab -l
# 示例:(每天12点30分;以 root 用户身份运行 reboot 命令)#
30 12 * * * root reboot
# 示例:(每次开机,等待15秒 给予 /root/路径下的test目录、以及它的子目录和文件777权限)#
@reboot root sleep 15; chmod 777 -R /root/test
# 示例:(每次开机,等待15秒 运行 /root/test.sh 脚本)
@reboot sleep 15; /root/test.sh