做软件开发,交付之后,需要做定时的数据备份,防止极端异常情况发生,方便后续随时恢复数据。
一、定时备份数据库的shell脚本:
#!/bin/bash
# 设置日期格式
now="$(date +'%Y%m%d%H%M%S')"
# MySQL连接信息
DB_USER="your_username"
DB_PASSWORD="your_password"
DB_NAME="your_database"
# 备份文件存储路径
BACKUP_DIR="/path/to/your/backup/directory"
# 执行备份命令
mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/backup_$now.sql
# 删除7天前的备份文件,只保留最近备份
find $BACKUP_DIR -type f -name "backup_*.sql" -mtime +7 -exec rm {} \;
# 可选:备份多个数据库或所有数据库
# 备份多个指定数据库:使用 --databases db1 db2
# mysqldump -u$DB_USER -p$DB_PASSWORD --databases db1 db2 > $BACKUP_DIR/multi_backup_$now.sql
# 备份所有数据库:使用 --all-databases
# mysqldump -u$DB_USER -p$DB_PASSWORD --all-databases > $BACKUP_DIR/all_backup_$now.sql
二、恢复数据库
使用mysqldump备份文件恢复:
mysql -u root -p database_name < backup_file.sql
以上脚本实测有效,希望对你有所帮助。

全部评论