#!/bin/bash # 获取当前日期 current_date=$(date +%Y%m%d%H) # MySQL 连接参数 db_user="root" db_password="***" # 备份文件路径 backup_dir="/home/git/sqlbak" # 数据库列表 databases=("gogs" "pay" "phpcase" "goapi") # 遍历数据库列表备份每个数据库 for db_name in "${databases[@]}"; do # 备份文件名 backup_file="${backup_dir}/${db_name}_${current_date}.sql" # 创建备份目录 mkdir -p ${backup_dir} # 执行备份 docker exec mysql mysqldump -u ${db_user} -p${db_password} ${db_name} >${backup_file} echo "数据库 ${db_name} 备份已完成,备份文件保存在 ${backup_file}" done # 删除7天前的备份文件 find ${backup_dir} -type f -name "*.sql" -mtime +3 -delete echo "已删除3天前的备份文件"
copy success
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32