mysql备份脚本-mysqldump
时间:2021-07-01 10:21:17
帮助过:21人阅读
#!/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}
mysql备份脚本-mysqldump
标签:ati sock sql lis find mysq admin == mkdir