• 使用百度网盘实现自动备份VPS


    http://ju.outofmemory.cn/entry/51536 经过轰轰烈烈的一轮网盘大战,百度网盘的容量已经接近无限(比如我的是3000多G ),而且百度网盘已经开放API,所以用来备份VPS再合适不过了。这里使用的是开源工具bpcs_uploader来实现。

    一、首先安装bpcs_uploader

    1.下载并解压脚本
    wget https://github.com/oott123/bpcs_uploader/zipball/master unzip master
    之后会生成一个oott123开头的目录,建议改名为baidu。 然后进入baidu目录,赋予权限:
    chmod +x bpcs_uploader.php
    2.配置 首先打开http://developer.baidu.com/dev#/create/在百度云创建一个应用 20131004193943 记得打开API 20131004194922 20131004194948 然后点击基本信息,复制API Key。 20131004195419 运行bpcs_uploader配置(假设已经切换到相应目录)
    ./bpcs_uploader.php init
    输入y继续,粘贴刚刚复制的API Key,之后输入刚刚设置的目录(比如我的是eincy-webdata),然后会跳出一段提示,让你用浏览器打开一个链接: 20131004195821 将链接复制到浏览器打开,点击授权。之后把地址栏的链接复制下来,找到其中的access_token,复制那一串东西,大概是这个样子
    3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47
    粘贴到ssh中,回车,看到Have Fun!以及网盘容量等信息,就证明配置成功。

    二、VPS编写自动备份并上传脚本。

    以下脚本适用于LNMP环境的VPS备份,并已经存在/home/backup目录。该脚本将备份网站文件、数据库、nginx配置文件,操作完成后会在百度网盘的“我的应用数据”中找到文件。
    #!/bin/sh tar zcvf /home/backup/file.tar.gz /home/wwwroot #备份网站数据 tar zcvf /home/backup/nginx.tar.gz /usr/local/nginx/conf #备份nginx配置文件 killall nginx #备份mysql service mysql stop tar zcvf /home/backup/mysql.tar.gz /usr/local/mysql/var /usr/local/nginx/sbin/nginx service mysql start cd baidu #上传到网盘,以日期格式命名,实现增量上传 ./bpcs_uploader.php upload /home/backup/file.tar.gz file_$(date +"%Y%m%d").tar.gz ./bpcs_uploader.php upload /home/backup/nginx.tar.gz nginx_$(date +"%Y%m%d").tar.gz ./bpcs_uploader.php upload /home/backup/mysql.tar.gz mysql_$(date +"%Y%m%d").tar.gz
    将以上文本复制到backup.sh,并上传到VPS的root目录下,赋予权限
    chmod +x backup.sh
    输入sh backup.sh进行一次备份测试,成功后就可以用crontab实现每日自动备份。
    crontab -e
    输入以下内容
    00 00 * * * /root/backup.sh
    以上内容的意思是每日0点自动执行一次备份脚本。 需要还原的时候,使用以下格式的命令从百度网盘中获取数据,并解压到相应目录即可。
    ./bpcs_uploader.php download [path_local] [path_remote]

    三、写在最后

    以上方法的一个明显缺点就是上传慢,大概只有每秒600kb左右,但由于是在凌晨执行,而且全自动,所以这个不是大问题。还有一个是Key的授权时限问题,这个目前还在测试。
  • 相关阅读:
    当物联网遇上云原生:K8s向边缘计算渗透中
    NLP预训练发展小结一(Bert之前)
    netty系列之:搭建HTTP上传文件服务器
    netty系列之:搭建自己的下载文件服务器
    HTTP系列之:HTTP中的cookies
    HTTP系列之:HTTP缓存
    netty系列之:自建客户端和HTTP服务器交互
    [源码解析] 深度学习流水线并行 PipeDream(3)--- 转换模型
    [源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区
    [源码解析] 深度学习流水线并行之PipeDream(1)--- Profile阶段
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327518.html
Copyright © 2020-2023  润新知