前言
上一篇讲到数据库备份,但是需要手动执行脚步文件,手动这个自然是不太可靠,毕竟有时候如果要避开高峰期,不影响白天用户使用体验,那就只能大晚上(不想熬夜,不想加班)那我们就实现“自动化”吧!
定时任务
Linux中实现定时任务有很多种方案,我们一个一个都了解一下。
chkconfig
chkconfig命令是大家都熟悉的,因为开机启动是基础需求了。我们常常会把项目或者一些服务设置开机自启,避免服务器出现异常重启时能迅速恢复服务的使用。简单了解一下chkconfig使用!
# 查询chkconfig配置列表
chkconfig [--list] [--type <type>] [name]
# 以下就是chkconfig常见的添加编辑删除操作
chkconfig --add <name>
chkconfig --del <name>
chkconfig --override <name>
chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
执行chkconfig --list查询当前服务器的“自动化”服务有哪些
如上图,有三个服务被配置了chkconfig,那图中的0123456是什么意思呢?
# Linux运行级别
0表示关机
1表示单用户模式
2表示不带NFS功能的多用户模式
3表示带NFS功能的多用户模式
4表示不可用
5表示带图形界面的多用户模式
6表示重新启动
# 表示在xxx服务在启动级别为0-6的情况下会自动启动
crontab
嘘!上面的大家再自己学习一下如何深入配置,简单的使用add就可以完成,本次主题主要讲crontab,Linux内置进程(crontab搭配脚步YYDS)复杂的指令也能快速配置。
help文档其实将命令解释的很清楚了,那我们就直接用起来
# 先编辑创建
crontab -e
# 编辑创建成功后查看
crontab -l
这样就成功配置了一个定时任务(每周五2点30执行bkDatabase.sh脚步)
当然记得检查crond服务是否运行,不然配置了,也是不会执行的
systemctl status crond
总结一下
# 安装(一般都系统自带)
yum -y install crontabs
# 启动
systemctl start crond
# 关闭
systemctl stop crond
补充一点(crond的开机自启动)
# 设置开机自启动
systemctl enable crond
# 重新载入配置
systemctl reload crond
# 查看crontab服务是否已经加入了开机启动
chkconfig crond --list
# 加入开机自动启动
chkconfig crond on