在CentOS上制定MongoDB备份策略可以通过以下几种方法:
使用mongodump和mongorestore命令进行备份和恢复:
mongodump -h <hostname> --port <port> -u <username> -p <password> -d <database_name> -o <backup_directory>
mongorestore -h <hostname> --port <port> -u <username> -p <password> -d <database_name> <backup_directory>
使用crontab进行定时备份:
#!/bin/sh
DUMP=/usr/bin/mongodump
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list
DATE=$(date +%Y-%m-%d)
DB_USER=your_db_user
DB_PASS=your_db_password
DAYS=7
TAR_BAK="mongod_bak_$DATE.tar.gz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -h <hostname> --port <port> -u $DB_USER -p $DB_PASS -d <database_name> -o $OUT_DIR/$DATE
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
find $TAR_DIR/ -mtime +$DAYS -delete
crontab -e
在编辑器中添加如下行,表示每天凌晨2点执行备份:
0 2 * * * /home/crontab/mongod_bak.sh
使用percona-xtrabackup进行物理备份:
yum install percona-xtrabackup-24
innobackupex --user=<username> --password=<password> --host=<hostname> --port=<port> --databases="<database_name>" /path/to/backup
innobackupex --user=<username> --password=<password> --host=<hostname> --port=<port> --databases="<database_name>" --copy-back /path/to/backup
注意事项:
通过以上方法,您可以在CentOS上实现MongoDB的备份策略,确保数据的安全性和可恢复性。