cover-image

查早读的同学越来越肆无忌惮了.

好吧.说到昨天给VPS搞全自动备份的事情, 还忘记了数据库备份的导出, 先来说说mysql数据库的备份脚本. 这一段是抄来的, 看起来linux shell也挺好玩的嘛...

#!/bin/bash

#uncomment this for debug
#set -x

host='localhost'  
user='USERNAME'  
pass='PASSWORD'  
dbs=('db_name_1' 'db_name_2' 'db_name_3')  
dir='/backup'  
todaydir="$dir/`date +%Y%m%d`"

mkdir -p $todaydir

for db in ${dbs[@]}; do  
    mysqldump --add-drop-database -u"$user" -p"$pass" -h"$host" -B $db > "$todaydir/$db.dump.sql"
done

#remove directories modified 15 days ago
find "$dir" -mindepth 1 -maxdepth 1 -type d -mtime +15 -exec rm -rf {} \;  

再把这个sh放进crontab里面就搞定了

然后再根据这个YY出了mongodb的备份脚本

user='USERNAME'  
pass='PASSWORD'  
dir='/backup'  
todaydir="$dir/`date +%Y%m%d`/mongodb"

mkdir -p $todaydir  
mongodump -u"$user" -p"$pass" -o"$todaydir"  

对于没有启用auth的mongodb用户可以这样三句话搞定

todaydir="$dir/`date +%Y%m%d`/mongodb"  
mkdir -p $todaydir  
mongodump -o"$todaydir"  

也放进crontab里面就搞定了. dropboxd会把放在/root/Dropbox目录下面的文件夹自动上传到dropbox空间, 配置好dropbox的同学只要创建一个软链接就ok了.

ln -s /backup/ /root/Dropbox/backup/  

扫描二维码,分享此文章

Ling.'s Picture
Ling.

Web开发者. 前端,NodeJS 😈 大三, 找实习啦 ⬇️戳简历⬇️