【运维】mysql与mongo的自动备份脚本

关于mysql和mongo的自动备份脚本,网上一搜一大堆,都不够简洁,这里写了足够简单的版本。方便拓展和维护。

mysql自动备份脚本

#!/bin/bash
export DATA_DIR=/data/backup
export OUTNAME="mongo_$(date +"%Y-%m-%d")_archive.gz"
mongodump --host 127.0.0.1 --port 27017 --db 库 --authenticationDatabase admin --username root --password 密码 --gzip --archive > $DATA_DIR/$OUTNAME
find $DATA_DIR/ -type f -name "_archive.gz" -mtime +7 -exec rm -rf {} \;

mongo自动备份脚本

 

#!/bin/bash
export NOW="$(date +"%Y-%m-%d")" export DATA_DIR=/data/backup 
mysqldump -uroot -h127.0.0.1 -P3308 --databases 数据库 -p密码 | gzip > $DATA_DIR/mysql_$NOW.sql.gz
find $DATA_DIR/ -type f -name "*sql.gz" -mtime +7 -exec rm -rf {} \;

使用参考:

 

0. 确保mysql client 和 mongodump工具存在。
1. 存放至 /data/auto_back/
2. 修改bak_mongo.sh与bak_sql.sh脚本的信息,比如备份路径
3. vim /etc/crontab 
添加两行 

30 0 * * * /data/auto_back/bak_mongo.sh
30 0 * * * /data/auto_back/bak_sql.sh

Mongo的恢复脚本如下:
mongorestore --host 127.0.0.1 --port 27017 --db 库  --authenticationDatabase admin --username root --password 密码 --gzip --archive=mongo_2023-06-09_archive.gz

posted @ 2023-06-09 11:19  虹梦未来  阅读(7)  评论(0编辑  收藏  举报  来源