一、登录Dropbox并创建一个APP
如果你还没有注册Dropbox,可以通过这个地址注册:https://www.dropbox.com/register
登录之后,通过这个地址创建Dropbox APP:https://www.dropbox.com/developers/apps
点击Create an app创建一个APP,填写相关信息之后,选择Full Dropbox之后点击Create创建。记住得到的App key和App secret,接下来会用到。
二、下载Dropbox-Uploader
下载地址:https://github.com/andreafabrizi/Dropbox-Uploader
或
三、使用命令直接下载赋予执行权限并绑定Dropbox APP
curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh chmod +x dropbox_uploader.sh //设置权限 sh dropbox_uploader.sh //绑定APP
按提示分别输入App key和App secret,然后输入 Y 确认;
之后会出现如下画面:
复制图中的链接在浏览器中打开,并点击Allow绑定APP,然后回到Xshell按Enter。
之后可以执行下面的命令测试上传,提示Done就是绑定成功了。
./dropbox_uploader.sh upload /etc/passwd /backup/passwd.old
在Xshell中执行:
nano backup.sh
适当修改以下内容后,复制粘贴进去
#!/bin/bash # Author: Jalena # Website: http://jalena.bcsytv.com/archives/1099 # 常规定义 MYSQL_USER="1111" MYSQL_PASS="1111" DROPBOX_DIR="/backup/$(date +%Y-%m-%d)" SPLIT="split" BACK_DIR="backup" # 备份网站数据目录 NGINX_DATA="/usr/local/nginx/conf/vhost" BACKUP_BLOG="/home/wwwroot/blog" BACKUP_DEFAULT="/home/wwwroot/default" BACKUP_JOOMLA="/home/wwwroot/joomla" # 定义备份文件名 mysql_DATA=mysql_$(date +"%Y%m%d").tar.gz www_BLOG=blog_$(date +%Y%m%d).tar.gz www_DEFAULT=default_$(date +%Y%m%d).tar.gz split=split_default_$(date +%Y%m%d).tar.gz. www_JOOMLA=joomla_$(date +%Y%m%d).tar.gz nginx_CONFIG=nginx_$(date +%Y%m%d).tar.gz # 定义Dropbox远程文件夹(3天删除一次) Old_DROPBOX_DIR=/backup/$(date -d -3day +%Y-%m-%d) # 判断本地备份目录,不存在则创建 if [ ! -d $BACK_DIR ] ; then mkdir -p "$BACK_DIR" fi # 进入备份目录 cd $BACK_DIR # 备份所有数据库 # 导出需要备份的数据库,清除不需要备份的库 mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.db sed -i '/performance_schema/d' databases.db sed -i '/information_schema/d' databases.db sed -i '/mysql/d' databases.db for db in $(cat databases.db) do mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz done # 打包数据库 tar -zcvf $mysql_DATA *.sql.gz # 打包本地网站数据 tar -zcvf $www_BLOG $BACKUP_BLOG tar -zcvf $www_DEFAULT $BACKUP_DEFAULT # 分包压缩为单个包100M split -d -b 100m $www_DEFAULT $split # 打包Nginx配置文件 tar -zcvf $nginx_CONFIG $NGINX_DATA/*.conf # upload cd ~ ./dropbox_uploader.sh upload $BACK_DIR/$nginx_CONFIG $DROPBOX_DIR/$nginx_CONFIG ./dropbox_uploader.sh upload $BACK_DIR/$mysql_DATA $DROPBOX_DIR/$mysql_DATA ./dropbox_uploader.sh upload $BACK_DIR/$www_BLOG $DROPBOX_DIR/$www_BLOG for file in $(find $BACK_DIR/split* | grep $) do sh dropbox_uploader.sh upload $file $DROPBOX_DIR/$SPLIT/$file done # Delete all local backup rm -rf $BACK_DIR # Delete the file 3 days ago ./dropbox_uploader.sh delete $Old_DROPBOX_DIR/ # DropBox info ./dropbox_uploader.sh info exit 0
按CTRL + O保存,CTRL + X 退出即可。
五、赋予脚本权限
在Xshell执行
chmod +x backup.sh
六、设置定时任务
crontab -e 00 03 * * * /root/backup.sh crontab -l service cron restart //重启Crontab
表示每天凌晨三点执行备份脚本。
如果你的VPS是nano编辑器(最上有nano字样),加入之后按Ctrl+O或F3并按Enter保存,然后按Ctrl+X或F2退出;
另一种是vi编辑器,需要先按i键进入编辑模式,在末尾输入上面的命令之后,按ESC键,输入:wq ,再按Enter保存并退出即可。
更多Crontab使用方法请看:http://www.vpser.net/manage/crontab.html
七、最后
重启之后就设置完成了……
如果你不知道服务器当前时间,可以使用下面的命令;
查看当前时间:
date -R
修改当前时区:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
即修改服务器时区为上海。