CentOS 定时执行脚本文件
安装crontabs并启动
首先查看本机上是否已经安装了crontabs
[root@VM8-8-centos ~]# service crond status
如果已经安装了,那么会显示
安装方式
[root@VM8-8-centos ~]# yum install vixie-cron crontabs
[root@VM8-8-centos ~]# yum install crontabs
//启动crontabs
[root@VM8-8-centos ~]# service crond start
//显示状态,如果安装成功就会显示上图
[root@VM8-8-centos ~]# service crond status
//开机自启动,这个根据自身需求决定是否使用
[root@VM8-8-centos ~]# chkconfig crond on
2.编辑需要运行的脚本
这一步如果已经编辑好要运行的脚本的可以直接跳到第三步
在根目录下创建一个sqlback文件夹,在该文件夹中新建一个sqlback.sh脚本文件
给.sh文件授权:
chmod后面跟着的三位数字对应三种用户:文件所有者(Owner)、用户组(Group)、其它用户(Other Users),每个数字的大小范围是0~7,对应的权限是:
1:可执行(execute)
2:可写(write)
4:可读(read)
根据三个数字相加的组合可以实现各种使用权限
例如我们想要设置一个文件可读可执行且只能被管理员用户使用:
可读可执行=4+1=5
[root@VM8-8-centos testsh]# chmod 777 aaa.sh
编辑脚本:
[root@VM8-8-centos testsh]# vim sqlback.sh
#!/bin/sh
date=date +%F
#descripion: mysql 数据库备份
mysqldump --host=111.111.111.111 -uroot -p密码 -x 库名|zip > /root/sqlback/back_${date}.sql.zip
3. 设置定时器
输入crontab -e进行定时任务编辑
[root@VM8-8-centos testsh]# crontab -e
5 7-22 * * * /bin/sh /usr/sqlback/mysqlbak.sh
重启crond使改动生效
[root@VM8-8-centos testsh]#service crond restart
4. 定时器配置示例
crontab 自定义执行时间
1.每个小时的第20分钟执行aaa.sh:
20 * * * * sh aaa.sh
2.每天12点20分的时候执行aaa.sh:
20 12 * * * sh aaa.sh
3.每月第3天12点20分的时候执行aaa.sh:
20 12 3 * * sh aaa.sh
, 代表不连续的时间
每小时的第5,10,15分钟执行aaa.sh
5,10,15 * * * * sh aaa.sh
- 代表连续的时间范围
每天的3-7小时的10分时执行aaa.sh
10 3-7 * * * sh aaa.sh
*/n 代表每隔多久执行一次
每分钟执行一次
*/1 * * * * sh aaa.sh