侧边栏壁纸

mysql数据库定时备份脚本(linux)

2023年06月15日 128阅读 0评论 2点赞
用GhatGpt写了一个mysql数据库脚本、配合定时任务crontab可以实现数据库的定时备份。记录下
#!/bin/bash

# MySQL数据库备份脚本  2023.6.13

# 数据库用户名
DB_USER="xxx"

# 数据库密码
DB_PASS="xxx"

# 数据库名称
DB_NAME="xxx"

# 备份目录
BACKUP_DIR="/home/backup/data/blog"

# 备份文件名
BACKUP_FILE="$DB_NAME-$(date +%Y%m%d%H%M%S).sql"

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 备份数据库
mysqldump -h ip -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$BACKUP_FILE

# 压缩备份文件
gzip $BACKUP_DIR/$BACKUP_FILE

# 删除7天前的备份文件
find $BACKUP_DIR -type f -name "*.gz" -mtime +7 -delete

脚本参考

Mysql

  • 说明 备份脚本
  • 备份单个 mysqldump -h192.168.1.11 -uroot -p#{PWD} db-name > #{DATE}.sql
  • 备份全部 mysqldump -h192.168.1.11 -uroot -p#{PWD} --all-databases > #{DATE}.sql
  • 还原 mysql -uroot -p123456 db-name <2021-11-12_10_29.sql

postgres

  • 说明 备份脚本
  • 备份单个 PGPASSWORD="#{PWD}" pg_dump --host 192.168.1.11 --port 5432 --dbname db-name --user postgres --clean --create --file #{DATE}.sql
  • 备份全部 PGPASSWORD="#{PWD}" pg_dumpall --host 192.168.1.11 --port 5432 --user postgres --clean --file #{DATE}.sql
  • 还原 psql -U postgres -f 2021-11-12_10_29.sql
  • 还原指定 psql -U postgres -d dn-name -f 2021-11-12_10_29.sql

定时任务

  • crontab -e
#每天凌晨四十四分执行备份脚本备份数据库
44 0 * * * /bin/bash /home/baksh/bakBlog.sh
  • crontab -l
    查看计划任务
2

—— 评论区 ——

昵称
邮箱
网址
取消
人生倒计时
舔狗日记