在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数据库设置自动备份。