应用于整个库的备份。
#!/bin/bash PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin # 数据库名称 databases=(myname) # 备份目录 basepath='/home/databak/' cd $basepath if [ ! -d "$basepath" ]; then mkdir -p "$basepath" fi #遍历数据库名称 for db in ${databases[*]} do # 备份数据库 mysqldump -uuser -ppasswd --database $db > $basepath$db-$(date +%Y%m%d).sql # 压缩备份的数据库,并删除原文件 tar czvf $db-$(date +%Y%m%d).sql.tar.gz $db-$(date +%Y%m%d).sql --remove-files # 删除7天以前的数据库备份文件 find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} ; done