ubuntu16.04 script backup mysql database

 

Cree un directorio para guardar el archivo de copia de seguridad: / home / lp01 / mysql_data

sudo mkdir mysql_data

Crear un archivo de script

touch mysql_databak.sh

Copia de seguridad de una sola base de datos

#!/bin/bash

DATE=`date +%Y%m%d%H%M`		#获取当前系统的时间,注意:date写法
DUMP=/usr/bin/mysqldump		#mysqldump备份程序执行路径
OUT_DIR=/home/lp01/mysql_data/	#备份文件存放路径
LINUX_USER=root			#系统用户名
DB_NAME=blog    	    #要备份的数据库名字
DB_USER=root			#数据库账号 注意:非root用户要使用备份参数 --skip-lock-tables,否则可能会报错
DB_PASS=123456			#数据库密码
DAYS=7				#DAYS=7代表要删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR			#进入备份存放的目录
OUT_SQL=$DATE.sql		#备份数据库的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=gbk --opt -Q -R --skip-lock-tables>$OUT_SQL	#执行备份命令
tar -czf $TAR_SQL ./$OUT_SQL	#压缩为备份数据库文件为.tar.gz格式
rm $OUT_SQL			#删除.sql格式的备份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL  #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件,注意:{} ;中间有空格:wq 保存退出

Haga una copia de seguridad de varias bases de datos y empaquete un paquete de compresión de carpetas

#!/bin/bash

DATE=`date +%Y%m%d%H%M`		#获取当前系统的时间,注意:date写法
DUMP=/usr/bin/mysqldump		#mysqldump备份程序执行路径
BASE_DIR=/home/lp01/Desktop/ 	#备份文件存放路径
OUT_DIR="mysqldata_bak_$DATE" 	#备份数据库存放路径
LINUX_USER=root			#系统用户名
DB_NAMES=(blog mysql)		#要备份的数据库名字
DB_USER=root			#数据库账号 注意:非root用户要使用备份参数 --skip-lock-tables,否则可能会报错
DB_PASS=123456			#数据库密码
DAYS=7				#DAYS=7代表要删除7天前的备份,即只保留最近7天的备份
cd $BASE_DIR			#进入备份文件存放的目录
mkdir $OUT_DIR && cd $OUT_DIR	#创建并进入备份数据库目录
for DB_NAME in ${DB_NAMES[*]}
do
  OUT_SQL=$DB_NAME.sql		#备份数据库的文件名
  $DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=gbk --opt -Q -R --skip-lock-tables>$OUT_SQL	#执行备份命令
done
cd $BASE_DIR			#进入备份文件存放的目录
TAR_DIR="$OUT_DIR.tar.gz"       #最终保存的数据库备份文件名
tar -zcvf $TAR_DIR $OUT_DIR		#压缩为备份数据库文件为.tar.gz格式
rm -rf $OUT_DIR			#删除.sql格式的备份文件
find $BASE_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件,注意:{} ;中间有空格:wq 保存退出

Modificar atributos de archivo para hacerlos ejecutables

sudo chmod 777 /home/mysql_data/mysql_databak.sh

OKAY.

 

Publicado 52 artículos originales · elogiado 34 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/weixin_43789195/article/details/104626169
Recomendado
Clasificación