VPS自动备份至DropBox
2018-03-19 本文已影响0人
RookieSky
1、创建Dropbox应用
点击创建
1、点击 Create APP
2、在 Choose an API 中选择 Dropbox API。
3、在 Choose the type of access you need 根据自已情况选择,建议选择 App folder 。(注:App folder - App 应用文件夹 / Full folder - 全文件夹),并且在 Name your app 下面输入 App 应用名称。可以随便取名,但是如果已经有存在的应用名称,则会失败。
4、创建成功后,点击进入应用,在 Settings 选项中,点击 Generated access token 下面的 Generate 按钮获取 token 并记住。(注意:一定要记得 token ,后面有需要用。)
2、安装上传脚本
wget https://raw.githubusercontent.com/aiqbc35/Dropbox-Uploader/master/dropbox_uploader.sh
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh
安装脚本时,提示需要输入 token 。把第二步中记下的 token 填写上去即可,回车之后,需要再次确认,输入 Y 再回车即可完成。
3、创建备份脚本
#!/bin/bash
DROPBOX_DIR=/$(date +%Y-%m-%d) #dropbox 目录
BACK_DATA=~/backup-data #文件备份目录
DATA=/home/wwwroot/default #需要备份的文件所在目录
#备份文件名
IMAGES_FILE=images_$(date +"%Y-%m-%d").tar.gz
OLD_IMAGES_FILE=imgaes_$(date -d -day +"%Y-%m-%d").tar.gz
OLD_DROPBOX_DIR=/$(date -d -30day +%Y-%m-%d)
#清理本地6天前的文件
echo -ne "Delete local data of 6 day files"
rm -rf "$BACK_DATA/$OLD_IMAGES_FILE"
echo -e "Done"
#备份文件
echo -ne "Backup images files"
cd $DATA
tar zcf "$BACK_DATA/$IMAGES_FILE" ./*
echo -e "Done"
cd $BACK_DATA
#上传备份文件
~/dropbox_uploader.sh upload "$BACK_DATA/$IMAGES_FILE" "$DROPBOX_DIR/$IMAGES_FILE"
#删除30天备份
~/dropbox_uploader.sh delete $OLD_DROPBOX_DIR
echo -ne "Thank you! All done"
4、创建自动执行
crontab -e #创建定时任务
0 3 * * * /root/backup.sh #凌晨3点执行
service crond restart #重启定时任务