用shell写一个数据库全量备份的脚本
时间: 2023-06-25 15:03:30 浏览: 93
可以使用mysqldump命令来进行MySQL数据库的全量备份,以下是一个简单的shell脚本:
```
#!/bin/bash
# 备份目录
backup_dir="/var/backup/mysql"
# 数据库连接信息
db_host="localhost"
db_port="3306"
db_user="root"
db_password="password"
db_name="database"
# 生成备份文件名
backup_file="$backup_dir/$(date +"%Y-%m-%d_%H-%M-%S").sql"
# 创建备份目录
mkdir -p "$backup_dir"
# 执行备份
mysqldump -h "$db_host" -P "$db_port" -u "$db_user" -p"$db_password" "$db_name" > "$backup_file"
# 压缩备份文件
gzip "$backup_file"
# 删除7天前的备份文件
find "$backup_dir" -type f -name "*.gz" -mtime +7 -exec rm {} \;
```
脚本中的变量需要根据实际情况进行修改,其中backup_dir变量表示备份文件的存放目录,db_host、db_port、db_user、db_password和db_name变量表示数据库连接信息,backup_file变量表示备份文件名。
脚本首先创建备份目录,然后执行mysqldump命令备份数据库,并将备份文件保存为指定的文件名。接着使用gzip命令压缩备份文件,并使用find命令删除7天前的备份文件。
阅读全文