centos7 下进行数据库自动备份

时间:2022-12-27 10:26:05

1、查看磁盘空间情况:

# df -h
 Size:大小
Used:使用
Avail:可用
Use%:使用率
Mounted on:位置
Filesystem :文件系统

选择磁盘大的进行备份

2、创建备份目录:

假设我们使用命令看出 /dev 下磁盘比较友好

cd /dev ---进入dev文件夹
mkdir backup ---创建文件夹cd backup

3、创建备份Shell脚本:

注意把以下命令中的DatabaseName换为实际的数据库名称; 
当然,你也可以使用其实的命名规则!

vi bkDatabaseName.sh

输入/粘贴以下内容:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

对备份进行压缩:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意: 
把 username 替换为实际的用户名; 
把 password 替换为实际的密码; 
把 DatabaseName 替换为实际的数据库名;

4、添加可执行权限:

chmod u+x bkDatabaseName.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./bkDatabaseName.sh

注意语法错误,如果数据库密码中有特殊字符可以用单引号括起来

5、添加计划任务

检测或安装 crontab

确认crontab是否安装: 
执行 crontab 命令如果报 command not found,就表明没有安装

# crontab
-bash: crontab: command not found

安装命令:
yum install vixie-cron
yum install crontabs

添加计划任务

执行命令:

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。 
输入以下内容并保存:

00 23 * * * /home/backup/bkDatabaseName.sh 运行命令

 每天的23点进行一次备份

 


注意是否启用了定时任务 没有启用任务就会失败
启动:/sbin/service crond status
停止:/sbin/service crond stop
重启:/sbin/service cround restart
删除所有定时任务 crontab -r