编写mysql全量定时备份脚本
时间: 2023-05-24 16:03:14 浏览: 128
mysql定时备份脚本
A:
备份MySQL是数据库管理中很重要的一步。 定时备份MySQL可以确保在意外故障或数据丢失的情况下,可以用备份数据来还原或恢复数据库。
下面是一个mysql全量定时备份脚本的示例:
```bash
#!/bin/bash
# MySQL Database Credentials
user="username"
password="password"
host="localhost"
# Backup Directory
backupDir="/home/user/backup/mysql"
# Date Format
dateFormat=$(date +"%Y-%m-%d")
# MySQL Backup File
backupFile="${backupDir}/mysql-backup-${dateFormat}.sql"
# MySQL Dump Command
mysqldump --user=${user} --password=${password} --host=${host} --all-databases > ${backupFile}
# Compressing MySQL Backup File
gzip ${backupFile}
# Removing Old MySQL Backup Files
find ${backupDir} -name "mysql-backup*.gz" -type f -mtime +30 -exec rm -f {} \;
```
说明:
- 把USER、PASSWORD和HOST设置为连接MySQL的凭据。
- 把BACKUPDIR设置为备份文件的目录的路径。
- 日期格式为YEAR-MONTH-DAY。
- BACKUPFILE是备份数据库的结果文件,其格式为mysql-backup-YYYY-MM-DD.sql。
- 使用MySQLDump命令以ALL-DATABASES选项备份所有数据库,然后将其输出到备份文件中。
- 压缩备份文件。
- 使用find命令查找旧的备份文件,并删除30天以上的文件。
将此脚本保存为mysql-backup.sh文件并赋予执行权限:
```bash
chmod +x mysql-backup.sh
```
设置cron作业,每天定时备份MySQL:
```bash
crontab -e
```
在打开的文本编辑器中添加以下一行:
```bash
0 0 * * * /path/to/mysql-backup.sh
```
这将在每天的午夜12点执行MySQL备份脚本。 它将备份所有的MySQL数据库,并在备份过程中压缩数据。备份文件将被保存在/home/user/backup/mysql目录中,只保存最近30天的备份文件。
阅读全文