mysql备份脚本-mysqldump

本文介绍了一种用于MySQL数据库的全库备份脚本实现方案。该脚本通过定义备份流程,包括生成数据库列表、执行备份操作、压缩备份文件及设置文件保留周期等功能,实现了自动化的数据库备份过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:全库备份

备份流程:

  1.生成DB列表,将DB名字写入文件

  2.定义备份函数,结果写入SQL文件

  3.压缩文件,减少磁盘占用量

  4.设置保留天数,定期删除n天之前的

  5.通过for循环读取DB列表文件,依次进行mysqldump

 1 #!/bin/bash
 2 
 3 PORT='5001'
 4 PASSWD='admin'
 5 SOCKED="/data/socket/mysql${PORT}.sock"
 6 BACKUP_FILE='/data/mysqlData/backup'
 7 BACKUP_SAVE_DAYS='2'
 8 
 9 CMD1='show databases;'
10 Time=`date +%Y%m%d_%H%M%S`
11 EVERY_DAY_BACKUP_DIR="${BACKUP_FILE}/${Time}_backup"
12 DB_LIST="${EVERY_DAY_BACKUP_DIR}/db_list.txt"
13 
14 # function : check_db ===> db_list.txt
15 check_db()
16 {
17     mkdir -pv ${EVERY_DAY_BACKUP_DIR} >>/dev/null
18     touch ${DB_LIST} && chmod 755 ${DB_LIST} && chown -R mysql.mysql ${DB_LIST}
19     /usr/local/mysql/bin/mysql -uadmin -p${PASSWD} -S ${SOCKED} -NBe"${CMD1}"|grep -v 'information_schema\|performance_schema\|mysql'>${DB_LIST}
20 
21 }
22 
23 # function : backup_db ===>xx.sql
24 backup_db()
25 {
26     /usr/local/mysql/bin/mysqldump -uadmin -p${PASSWD} -S ${SOCKED} $1 >> ${EVERY_DAY_BACKUP_DIR}/$1.sql
27 }
28 
29 # function : tar_file ===>xx.tar.gz
30 tar_file()
31 {
32     cd ${BACKUP_FILE} 
33     tar -cf `date +%Y%m%d_%H%M%S`.tar.gz ${Time}_backup
34     rm -fr ${Time}_backup
35 }
36 
37 # function : delete xx.tar.gz : <before n days>
38 delete_file()
39 {
40     cd ${BACKUP_FILE}
41     /usr/bin/find -name "*.tar.gz" -mtime +${BACKUP_SAVE_DAYS} -exec rm {} \;
42 }
43 
44 # main_process
45 # 1
46 check_db
47 
48 # 2
49 cat ${DB_LIST}| while read line
50 do 
51     oldIFS=${IFS}
52     backup_db ${line}
53     IFS=${oldIFS}
54     sleep 20
55 done
56 
57 # 3 
58 tar_file
59 
60 # 4 delete xx.tar.gz : before n days
61 
62 delete_file ${BACKUP_SAVE_DAYS}

 

转载于:https://www.cnblogs.com/cuisi/p/7300463.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值