mysql自动备份脚本
vim /var/tool/mysqlbackup.sh
#!/bin/bash
shijie=`date +%Y%m%d%H`
backDatabaseDB=database$shijie.sql
backDatabaseFile=database$shijie.tar.gz
cd /var/mysql/back/
/usr/local/mysql/bin/mysqldump -uroot -p123456 --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction database > $backDatabaseDB
tar czf $backDatabaseFile $backDatabaseDB
rm $backDatabaseDB -rf
定时任务
00 * * * * root /var/tool/mysql/backup.sh #每小时0分执行
00 5 * * * root find /var/mysql/back/ -mtime +0 -type f -exec rm -f {} \; #每天5点整删除24小时以前的文件
mongo自动备份脚本
#!/bin/bash
shijie=`date +%Y%m%d%H`
backmongodbFile=mongodb$shijie.tar.gz
cd /var/mongo/back/
/usr/local/mongo/bin/mongodump -h 127.0.0.1 --port 27017 -u mongo -p 123456 -d my_mongodb -o my_mongodb_dump/
tar czf $backmongodbFile my_mongodb_dump/
rm my_mongodb_dump -rf
定时执行与删除与mysql类似
备份后恢复
mysql恢复:
mysql -uroot -p 123456 database < database.sql
mongo恢复:
/usr/local/mongo/bin/mongorestore -d my_mongodb my_mongodb_dump/my_mongodb/* 指向每个文件
/usr/local/mongo/bin/mongorestore -h 127.0.0.1 --port 27017 -- drop --directoryperdb my_mongodb_dump/my_mongodb 指向一个目录
解释:加--drop 参数会在导入数据前先清空数据