服务器数据库自动化备份

服务器数据库自动化备份

操作系统: CentOS 7.7 64位
mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper

通过crontab实现mysql数据的自动备份

创建启动脚本:

cd /etc/cron.daily/
touch mysqlTimingBackup
vi /etc/cron.daily/mysqlTimingBackup

编写脚本:

#!/bin/bash
#定义变量name的值,/bin/date日期格式为Y年-m月-d日
name=`/bin/date "+%Y-%m-%d"`  
#/usr/bin/mysqldump  备份数据库的命令路径
#-u root 数据库的用户名
#-p password 数据库的密码把password替换成你自己的密码
#--opt database 你要备份的数据库 如果要备份所有的库你可以把--opt database替换成--all-databases前面那个database是你数据库的名字,后面的databases是mysqldump的参数别搞混了
#/home/backup/database$name.sql这个是数据库备份的路径,$符号后面的name就是最前面定义的那个日期,备份的文件将会以你自己定义的文件名加当时的日期来命名
/usr/bin/mysqldump -u root -ppassword --opt test  > /home/backup/test$name.sql 
#这个就是备份所有数据库的命令,和前面的有点小差别
#/usr/bin/mysqldump -u root -ppassword --all-databases | gzip --fast > /home/backup/full$name.gz

保存退出
编辑crontab的配置文件:

vi /etc/crontab

给crontab的配置文件添加

#每分钟执行一次/etc/cron.hourly/目录下的文件
#* * * * * root run-parts /etc/cron.hourly
#每小时执行一次/etc/cron.hourly/目录下的文件
#01 * * * * root run-parts /etc/cron.hourly
#每天执行一次/etc/cron.hourly/目录下的文件,执行时间是04点
00 04 * * * root run-parts /etc/cron.daily
#每周执行一次/etc/cron.hourly/目录下的文件,每周的第一天04点22分
#22 4 * * 0 root run-parts /etc/cron.weekly
每月执行一次/etc/cron.hourly/目录下的文件,每月的第一天04点42分
#42 4 1 * * root run-parts /etc/cron.monthly

保存并退出
重启crontab任务:

service crond restart

查看crontab状态:

service crond status

你可能感兴趣的:(程序员笔记)