网站自动备份到Google drive

vps · 2016-08-31 · 359 人浏览

整整弄了两个小时,中间问题很多,写个教程记录下吧。自动上传的问题暂时还没解决,请教中。

第一步,安装google的Go环境

1、下载并解压文件

wget http://www.golangtc.com/static/go/1.6.2/go1.6.2.linux-amd64.tar.gz tar -zxf go1.6.2.linux-amd64.tar.gz -C /usr/local/ mkdir /Golang

2、设置环境变量

在 /etc/profile 添加:

export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export GOPKG=$GOROOT/pkg/tool/linux_amd64 export GOARCH=amd64 export GOOS=linux export GOPATH=/Golang export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin

然后执行source /etc/profile 使之生效。

3、验证生效

go version   /显示go版本即成功

第二步,安装gdrive

1、安装gdrive,执行以下命令

go get github.com/prasmussen/gdrive
wget -O drive https://pan.echoteen.com/f/89223d1ece/?raw=1  
mv drive /usr/sbin/drive  
chmod 755 /usr/sbin/drive


2、运行“drive”命令,将出现的链接复制到浏览器,确认后返回一串字符,如:4/9gKYAFAJ326XIP6JJHAEhs342t35LPiA5QGW0935GHWHy9
在putty中按回车填入该字符串,返回授权成功;

第三步,创建备份脚本

注①:不建议在windows系统写完脚本后上传,容易出现兼容性错误。
注②:因为amh能够自动备份文件和数据库,文件以amh结尾存放在/home/backup/目录,所以只写了上传和删除。
1、创建备份脚本
mkdir scripts
vi /scripts/file.sh
file.sh内容为:
#!/bin/sh #upload drive upload --file /home/backup/*.amh #remove rm -rf /home/backup/*.amh



输入:wq保存脚本文件;

执行 /scripts/file.sh ,备份文件自动上传并删除。

第四步,添加计划任务定时备份

这步花了2个多小时调试,各种错误,最后在大神的指点下,终于成功。

首先,需要修改file.sh,定时脚本需要写绝对路径,否则系统无法识别“drive”。

命令行输入:which drive     查找到“drive”命令的路径为 /usr/sbin,完善file.sh

#!/bin/sh #upload /usr/sbin/drive upload --file /home/backup/*.amh #remove rm -rf /home/backup/*.amh

打开/var/spool/cron/,找到root文件,在里面添加计划,添加格式如下:

45 9 * * 4 /scripts/file.sh

每周四早9点45分执行该文件,测试成功。

注意:要把定时任务添加到个人计划(/var/spool/cron/),而不是系统计划(etc/crontab),否则显示未授权登陆,无法上传!

 

 

 

建站
  1. 神父 2016-09-01

    老王终于把评论打开了

    1. wonse (作者)  2016-09-01
      @神父

      前段时间忙,博客更新后被垃圾评论占领了,就关闭了几天

Theme Jasmine by Kent Liao