美容茌哪个网站做宣传好,检测网站安全,免费招聘网站建设,wordpress本地连接shell自动化脚本实战---备份
数据库备份#xff1a; 结合计划任务 MySQL、 Oracle 网站备份#xff1a; tar#xff0c;异地保存--ftp、rsync 一、数据库备份 1.利用自带工具mysqldump 实现数据库分库备份 分库备份#xff1a; 1 如何获取备份的… shell自动化脚本实战---备份
数据库备份 结合计划任务 MySQL、 Oracle 网站备份 tar异地保存--ftp、rsync 一、数据库备份 1.利用自带工具mysqldump 实现数据库分库备份 分库备份 1 如何获取备份的数据库列表
[rootlocalhost mysql-5.7.18]# DBSmysql -uroot -p123456 -N -e show databases | egrep -v information_schema|mysql|performance_schema|sys
mysql: [Warning] Using a password on the command line interface can be insecure.
[rootlocalhost mysql-5.7.18]# echo $DBS 2 循环遍历
for db in $DBS
doecho 备份 $db
done 3 备份语句实现
[rootlocalhost ~]# mysqldump -uroot -p123456 -B $db $db.sql
优化:
[rootlocalhost ~]# mysqldump -uroot -p123456 -B user user_$(date %F).sql
分库备份参考代码
#!/bin/bash#define var
BAK_DIR/backup/db
CMD_OPT-uroot -p123456
EX_DBinformation_schema|mysql|performance_schema|sysDBS$(mysql ${CMD_OPT} -N -e show databases | egrep -v ${EX_DB})# main program
[ -d ${BAK_DIR} ] || mkdir -p ${BAK_DIR}for db in $DBS
domysqldump ${CMD_OPT} -B $db ${BAK_DIR}/${db}_$(date %F).sql
done
2、分表
mysql -uroot -p123456 -N -e show tables from user#!/bin/bash#define var
BAK_DIR/backup/db
CMD_OPT-uroot -p123456
dbuser
TABS$(mysql ${CMD_OPT} -N -e show tables from $db)# main program
[ -d ${BAK_DIR}/$db ] || mkdir -p ${BAK_DIR}/$dbfor tab in $TABS
do
mysqldump ${CMD_OPT} $db $tab ${BAK_DIR}/$db/${db}_$tab_$(date %F).sql
3、分库分表
#define var
BAK_DIR/backup/db
CMD_OPT-uroot -p123456
EX_DBinformation_schema|mysql|performance_schema|sysDBS$(mysql ${CMD_OPT} -N -e show databases | egrep -v ${EX_DB})for db in $DBS
doTABS$(mysql ${CMD_OPT} -N -e show tables from $db)[ -d ${BAK_DIR}/$db ] || mkdir -p ${BAK_DIR}/$dbmysqldump ${CMD_OPT} -B $db ${BAK_DIR}/${db}_$(date %F).sqlfor tab in $TABSdomysqldump ${CMD_OPT} $db $tab ${BAK_DIR}/$db/${db}_$tab_$(date %F).sqldone
done4.优化
优化
#!/bin/bash#define var
BAK_DIR/backup/db
CMD_OPT-uroot -p123456
EX_DBinformation_schema|mysql|performance_schema|sysDBS$(mysql ${CMD_OPT} -N -e show databases | egrep -v ${EX_DB})# main program
for db in $DBS
doTABS$(mysql ${CMD_OPT} -N -e show tables from $db)[ -d ${BAK_DIR}/$db ] || mkdir -p ${BAK_DIR}/$dbmysqldump ${CMD_OPT} -B $db | gzip ${BAK_DIR}/$db/${db}_$(date %F).sql.gz
# 分表备份
for tab in $TABSdomysqldump ${CMD_OPT} $db $tab | gzip ${BAK_DIR}/$db/${db}_$tab_$(date %F).sql.gzdone
done