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/