创建一个backup.sh文件进行编辑,输入以下
#!/bin/bash
#数据库账号(必填)
DB_USER="root"
#数据库密码(必填)
DB_PASS="123"
#数据库端口
DB_PORT="3306"
#数据库名称(必填)
DB_NAME="test"
#备份的数据库IP(必填)
DB_IPADDR="127.0.0.1"
#填入备份的表名称,多个表名用空格隔开,为空则全量备份(选填)
TABLES=""
#备份文件保存路径(绝对路径)(必填)
BACKUP_PATH="/home/mysqlbackup/"
#恢复文件保存路径(绝对路径)(必填)
REVOCER_PATH="/home/mysqlrecover/"
#创建备份目录
if [ -d ${BACKUP_PATH} ];then
echo $(date "+%Y-%m-%d %H:%M:%S") 备份sql文件将保存在目录 ${BACKUP_PATH}
echo $(date "+%Y-%m-%d %H:%M:%S") 备份sql文件将保存在目录 ${BACKUP_PATH} >>$BACKUP_PATH/mysqlbackup.log
else
echo $(date "+%Y-%m-%d %H:%M:%S") 目录 ${BACKUP_PATH} 不存在,开始创建!
mkdir -p $BACKUP_PATH
mkdir -p $REVOCER_PATH
echo $(date "+%Y-%m-%d %H:%M:%S") 目录 ${BACKUP_PATH} 不存在,创建成功!>>$BACKUP_PATH/mysqlbackup.log
fi
echo $(date "+%Y-%m-%d %H:%M:%S") 开始备份......
echo $(date "+%Y-%m-%d %H:%M:%S") 开始备份......>>$BACKUP_PATH/mysqlbackup.log
mysqldump -h$DB_IPADDR -u$DB_USER --default-character-set=utf8 -p$DB_PASS -P$DB_PORT $DB_NAME $TABLES >$BACKUP_PATH/$DB_NAME.sql 2>>$BACKUP_PATH/mysqlbackup.log
if [ "$?" = 0 ];then
echo $(date "+%Y-%m-%d %H:%M:%S") [success]数据库备份成功!
echo $(date "+%Y-%m-%d %H:%M:%S") [success]数据库备份成功!>>$BACKUP_PATH/mysqlbackup.log
cd $BACKUP_PATH
cp $DB_NAME.sql $REVOCER_PATH
else
echo $(date "+%Y-%m-%d %H:%M:%S") [failed]备份失败!
echo $(date "+%Y-%m-%d %H:%M:%S") [failed]备份失败!>>$BACKUP_PATH/mysqlbackup.log
fi
echo -e>>$BACKUP_PATH/mysqlbackup.log
保存后之后执行赋权命令并进行执行
chmod +x test.sh
./test.sh