mysqldump 增量备份脚本
时间: 2023-11-11 10:00:56 浏览: 120
好的,以下是一个简单的 mysqldump 增量备份脚本示例:
```bash
#!/bin/bash
# 定义备份目录和文件名
backup_dir="/path/to/backup"
backup_file="$backup_dir/$(date +%Y%m%d_%H%M%S).sql"
# 获取上次备份的时间戳
last_backup=$(ls -1t $backup_dir/*.sql 2>/dev/null | head -n 1 | awk -F_ '{print $1$2}')
# 如果没有上次备份,则进行全量备份
if [ -z "$last_backup" ]; then
mysqldump -u username -p password --all-databases > $backup_file
else
# 否则进行增量备份
mysqldump -u username -p password --all-databases --single-transaction --skip-lock-tables --skip-add-locks --skip-comments --skip-triggers --skip-set-charset --skip-disable-keys --skip-add-drop-table | sed -e "s/DEFINER[ ]*=[ ]*[^*]*\*/\*/" | grep -v "^-- Dump completed" | grep -v "^-- Dumping data for table" | grep -v "^LOCK TABLES" | grep -v "^UNLOCK TABLES" > $backup_file
fi
```
该脚本会在指定的备份目录下创建一个以当前时间命名的备份文件,如果之前已经有备份文件,则会进行增量备份,否则进行全量备份。
阅读全文