登录 主页

每天自动备份一次数据库

2024-03-25 06:09PM

参考:https://linlin.fun/blogs/1164

写一个脚本文件:backup.sh

文件内容如下:

# 设置备份目录和文件名
backup_dir="/你的备份文件夹路径_xxx_backup_data"
backup_file="$backup_dir/$(date +%Y%m%d_%H%M%S).sql"  # 使用了日期加时间命名

# MySQL 连接参数
db_host="你的ip"
db_port="你的端口"
db_name="数据库名称"
db_user="数据库用户名称"

# 创建备份目录
mkdir -p "$backup_dir"

export PGPASSWORD='你的数据库密码'

# 执行备份命令
pg_dump  -U "$db_user" -h "$db_host" -p "$db_port" "$db_name" > "$backup_file"  # postgres备份
#pg_dump -U 用户名 -h ip -p 端口 数据库名称 > 文件名称.sql
mysqldump -h "$db_host" -P "$db_port" -u "$db_user" -p"$db_password" "$db_name" > "$backup_file"    # mysql备份
# 输出备份完成信息
echo "数据库备份完成:$backup_file"

# 等待 24 小时
sleep 24h

# 执行脚本本身,实现每天的定时执行
bash /你的备份执行文件路径/backup.sh

eg : 备份mysql数据库

# 设置备份目录和文件名
backup_dir="/user/blog"
backup_file="$backup_dir/$(date +%Y%m%d_%H%M%S).sql"  # 使用了日期加时间命名

# MySQL 连接参数
db_host="localhost"
db_port="5432"
db_name="article"
db_user="user"

# 创建备份目录
mkdir -p "$backup_dir"

export PGPASSWORD='123456'

# 执行备份命令
mysqldump -h "$db_host" -P "$db_port" -u "$db_user" -p"$db_password" "$db_name" > "$backup_file"    # mysql备份

# 输出备份完成信息
echo "数据库备份完成:$backup_file"

#等待 24 小时
sleep 24h

# 执行脚本本身,实现每天的定时执行
bash /user/blog/backup.sh 

执行该文件:

$ ./backup.sh
Enter password: 
数据库备份完成:/user/blog/20240325_175347.sql 

可以在后台运行 

$ setsid nohup ./backup.sh &

 

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论