VPS自动备份至DropBox

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  #重启定时任务

你可能感兴趣的:(VPS自动备份至DropBox)