自动备份
Ubuntu服务器中定时备份数据库
编写bk-mysql.sh脚本,主要内容是进行myql dump,以及删除7天之前的备份文件,注意需要修改指定的文件路径
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52!/bin/bash
删除7天之前的数据库备份
target_date=$(date +%Y%m%d -d '7 days ago')
echo $target_date
获取当前时间 年月 20240419
current_date=$(date +%Y%m%d)
echo $current_date
备份路径,需要自己修改
directory_path="/home/dell/mysql-dump"
判断目标文件夹是否存在
target_directory="$directory_path/$target_date"
if [ -d "$target_directory" ]; then
echo "文件夹 $target_directory 存在."
# 删除文件夹
rm -rf "$target_directory"
echo "文件夹 $target_directory 被删除."
else
echo "文件夹 $target_directory 不存在."
fi
备份数据库
echo "开始备份MySQL数据库!"
数据库用户名
DB_USER="ai_research"
数据库密码
DB_PASSWORD="P@ssW0Rd"
新建本月备份的文件夹
mkdir $(date +%Y%m%d)
备份每个数据库, in 列出需要备份的数据库
for database in rppm mai2pro mai2flowable mai2dev mai2exec; do
# 生成备份文件名
backup_filename="$database-$(date +%Y%m%d_%H%M%S).sql.gz"
# 备份对应的数据库,需要修改路径
mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$database" | gzip > "/home/dell/mysql-dump/$(date +%Y%m%d)/$backup_filename"
# 输出成功信息
echo "数据库 $database 备份成功!"
done
echo "MySQL 数据库备份完成!"使用
sudo chmod u+x bk-mysql.sh
命令给脚本执行权限使用
./bk-mysql.sh
进行测试,是否可以备份成功创建定时任务,使用
crontab -e
命令,选择nano
编辑器,在文件中追加1
2
3MySQL数据库自动备份定时任务,每天执行
修改成自己脚本的路径
0 0 * * * /home/dell/mysql-dump/bk-mysql.sh使用
crontab -l
查看已有的定时任务
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Monster龙!