备份多个数据库的Shell
2018-06-04 18:04 浏览(1237
#!/bin/bash
#备份数据库,格式如 数据名:用户名:密码
databaseArr=("test:testuser:test123" "test1:testuser1:test123")
#备份存放目录
savePath=/usr/local/mysql/backup
#===============勿改动=================
for v in ${databaseArr[@]}; do
    arr=(${v//:/ })
    Delbackpath=$savePath/${arr[0]}-$(date -d "7 days ago" +'%Y-%m-%d').sql.gz
    rm -f $Delbackpath
    mysqldump -u ${arr[1]} -p${arr[2]} --opt ${arr[0]} | gzip > $savePath/${arr[0]}-$(date +%Y-%m-%d).sql.gz
done

最近遇到要备份多个数据库的情况,不想每个数据都写一个shell备份,就用循环写了个shell备份多个数据库

若要添加新的数据库直接在 databaseArr 里面添加对应的格式字符串

自动删除7天前的备份

savePath 改为自己的备份目录

评论(1)
发布评论
回复X
聊天室(0