在CentOS系统中,为SQL数据库(如MySQL或PostgreSQL)设置自动备份可以通过编写Shell脚本和使用cron作业来实现。以下是针对MySQL和PostgreSQL的自动备份设置步骤:
创建备份目录
sudo mkdir -p /var/backups/mysql
编写备份脚本
创建一个名为mysql_backup.sh的脚本文件:
sudo nano /usr/local/bin/mysql_backup.sh
在文件中添加以下内容:
#!/bin/bash
DATE=$(date +"%Y%m%d%H%M%S")
BACKUP_DIR="/var/backups/mysql"
DB_USER="your_db_user"
DB_PASSWORD="your_db_password"
DB_NAME="your_db_name"
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 可选:压缩备份文件
gzip $BACKUP_DIR/$DB_NAME-$DATE.sql
赋予脚本执行权限
sudo chmod +x /usr/local/bin/mysql_backup.sh
设置cron作业 编辑当前用户的crontab文件:
crontab -e
添加以下行以每天凌晨2点执行备份脚本:
0 2 * * * /usr/local/bin/mysql_backup.sh
创建备份目录
sudo mkdir -p /var/backups/postgresql
编写备份脚本
创建一个名为postgresql_backup.sh的脚本文件:
sudo nano /usr/local/bin/postgresql_backup.sh
在文件中添加以下内容:
#!/bin/bash
DATE=$(date +"%Y%m%d%H%M%S")
BACKUP_DIR="/var/backups/postgresql"
DB_USER="your_db_user"
DB_NAME="your_db_name"
PGPASSWORD="your_db_password"
pg_dump -U $DB_USER -d $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 可选:压缩备份文件
gzip $BACKUP_DIR/$DB_NAME-$DATE.sql
赋予脚本执行权限
sudo chmod +x /usr/local/bin/postgresql_backup.sh
设置cron作业 编辑当前用户的crontab文件:
crontab -e
添加以下行以每天凌晨2点执行备份脚本:
0 2 * * * /usr/local/bin/postgresql_backup.sh
通过以上步骤,您可以在CentOS系统上为MySQL或PostgreSQL数据库设置自动备份。