网站自动备份到Google drive

5,118 views次阅读
2 条评论

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

第一步,安装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),否则显示未授权登陆,无法上传!

 

 

 

正文完
 
评论(2 条评论)
2016-09-01 15:46:30 回复

老王终于把评论打开了

 中国江西省南昌市电信
    2016-09-01 15:49:23 回复

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