网站自动备份到Google drive

作者: wonse 分类: vps教程 发布时间: 2016-08-31 22:35

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

第一步,安装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年9月1日 15:46

    老王终于把评论打开了

    1. wonse

      2016年9月1日 15:49

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注