Bash 备份 数据库 Shell 服务器 技术 备份多个数据库的Shell 2018-06-04 18:04 1850 更新于 2018-06-04 18:04 ```shell #!/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` 改为自己的备份目录