导读:如今的百度云盘免费容量都是2T了,即使把电脑上所有的东东都放上去,也还有大把的剩余空间。对于站长来说,是完全可以充分利用这些硬盘空间的,现在我们就用百度云盘来备份Linux服务器上的数据。

一直在想,要是百度云盘支持FTP多好,就可以实现Linux定时备份数据到百度云盘了。尤其在各云盘容量都达到T级后,更是有种浪费的感觉。

昨天无意间发现了一个脚本,可以实现Linux定时备份数据到百度云盘。

安装bpcs_uploader

虽然关于bpcs_uploader的教程不少,但都千篇一律。虽然网上也有很详细的教程,不过可能还有漏掉的细节。

废话不多说了,开工。

下载程序包:

wget https://github.com/oott123/bpcs_uploader/zipball/master

解压:

unzip master

默认的文件夹名字很长,为了方便以后操作,重命名文件夹:

mv oott123-bpcs_uploader-3a33d09 baidu

这里我将文件夹名字修改成了baidu,需要注意的是,以后的默认文件夹名字可能有所不同,毕竟程序会升级,你需要看一下解压出来的文件夹名称是什么。

进入程序目录:

cd baidu

设置权限:

chmod +x bpcs_uploader.php

运行程序:

./bpcs_uploader.php

你可能会看到出错提示,因为运行程序需要PHP环境,而你的服务器上的PHP路径可能与程序中设置的不同,修改一下程序文件bpcs_uploader.php中的PHP路径即可。

查看PHP路径:

which php

编辑bpcs_uploader.php文件:

vi bpcs_uploader.php

将第一句#!后的路径修改为你的PHP路径,如果你安装的是WDCP一键包,路径为:/www/wdlinux/php/bin/php

登录百度开发者中心:http://developer.baidu.com/

创建一个Web应用,应用名称自定义,例如:huihuige,其他默认设置就可以了。

此时,我们可以得到该应用的API Key,运行./bpcs_uploader.php后首先要输入的就是Key。

另外我们还要在应用管理中找到API管理,开启PCS API,设置一个目录,该目录将用于存放服务器上传过来的数据。

温馨提示:开启PCS API时设置的目录不可更改,但可以在“操作”菜单中删除应用重建。

输入Key后,接下来需要输入app floder name,也就是刚才开启PCS API时设置的目录名称。

然后需要输入access token,将你的Key填入以下地址相应位置,在浏览器打开得到的地址:

https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=KEY&redirect_uri=oob&scope=netdisk

然后你会看到一个写着“百度 Oauth2.”的页面,将浏览器地址栏中的URL复制下来,找到access_token=和&之间的字符串,这就是access token,输入access token后就完成了,你会看到SSH终端显示出了你的百度云盘容量。

如果之前有安装过bpcs_uploader,那么可以执行以下命令初始化:

./bpcs_uploader.php init

bpcs_uploader用法

查询容量:

./bpcs_uploader.php quota

上传文件:

./bpcs_uploader.php upload [path_local] [path_remote]

[path_local]是指服务器上的文件路径,[path_remote]是指百度云盘中的路径。

下载文件:

./bpcs_uploader.php download [path_local] [path_remote]

删除文件:

./bpcs_uploader.php delete [path_remote]

离线下载:

./bpcs_uploader.php fetch [path_remote] [path_to_fetch]

自动备份脚本

接下来需要设置自动备份数据,网上有许多自动备份脚本,所以我就不再复述了。

这里要介绍的是,由于我们多半都在Linux服务器上安装了控制面板,而控制面板都有自动备份数据的功能,比如WDCP就可以设置自动备份数据到/www/backup目录,那么我们就不再需要自动备份数据的脚本了,只需要一个脚本将备份目录下的所有文件上传到百度云盘即可。

下载脚本至baidu目录下:

wget http://www.huihuige.com/wp-content/uploads/2013/10/baidubd.zip

解压:

unzip baidubd.zip

这个脚本实用于WDCP面板用户,如果你的备份目录不同,可以打开脚本修改。

测试脚本是否有效:

sh baidubd.sh

最后设置计划任务:

crontab -e

加入一行:

  * * * /root/baidu/baidubd.sh

这里设置了每天的凌晨零点自动备份数据到百度云盘。

Linux定时备份数据到百度云盘的更多相关文章

  1. linux定时备份mysql数据并同步到其他服务器

    (备份还原操作) ###导出数据库 /usr/bin/mysqldump -u root -pwd database > database20180808.sql ###导入数据库 mysql ...

  2. Linux平台下Oracle定时备份数据

    临时收到一个任务,就是在生产环境上定时备份oracle的数据.空闲时间搞了一下,真是一波三折,过程有点小郁闷,结果哈哈.现在进行总结一下 (1)新建一个shell脚本test.sh #!/bin/ba ...

  3. linux定时备份mysql并同步到其它服务器

    数据在任何一家公司里面都是最核心的资产,定期备份则是为了保证数据库出现问题的时候能够及时回滚到最近的备份点,将损失缩小到最小 这篇文章将会两部分来说明:1.mysql的定期备份:2.同步到其它服务器 ...

  4. linux 定时备份

    每部主机的任务都不相同,重要的数据也不相同,重要性也不一样,因此,每个人癿备份思考角度都不一样! 有些备份策略是非常有趣的: (1)挂载储存设备进行备份: 挂载设备: 备份的 script #!/bi ...

  5. linux 定时备份mysql数据库

    首先要先搞清楚两个概念: ①.mysqldump,mysqldump是mysql的逻辑备份工具,它不是linux的命令,工作原理类似产生一些列sql语句,对数据库进行指定的逻辑备份. 最简洁的形式是: ...

  6. linux 定时备份mysql

    定时备份:1.创建备份文件存放目录2.创建备份脚本backup.sh #!/bin/bash DBUser=db_backDBPasswd=passwordDBName=db_nameSERVER=l ...

  7. crontab的相关设置&linux定时备份数据库

    对于才了解crontab的人来说,应该按照以下的步骤来设置crontab 1.首先要检查是否装了crontab http://blog.sina.com.cn/s/blog_4881040d01011 ...

  8. Mysql定时备份数据脚本

    项目集群搭建完成,数据库虽有做主从同步,但考虑到数据安全性,为了满足这个需求那么要每天对数据备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行 ...

  9. mysqldump 定时备份数据(全量)

    MYSQL 数据库备份有很多种(cp.tar.lvm2.mysqldump.xtarbackup)等等,具体使用哪一个还要看你的数据规模.下面给出一个表 #摘自<学会用各种姿态备份Mysql数据 ...

随机推荐

  1. 一个简单的WebService服务

    现在,网上提供的免费的webservice服务的网站: http://www.webxml.com.cn/ 从扩展名上看,是 .net构建的网站. 看看功能的实现效果: 需求:我们要远程调用手机号归属 ...

  2. iOS:触摸事件和手势识别的介绍

    触摸事件和手势识别的介绍 1.iOS的输入事件  UIKit可识别三种类型的输入事件: 触摸事件 运动事件 远程控制事件 iOS中许多事件对象都是UIEvent类的实例,UIEvent记录了事件所产生 ...

  3. DX12

    CD3DX12_DESCRIPTOR_RANGE1 的baseShaderRegister 用来指定 t0 t1 b0 b1...的index t0 srv b0 constant buffer u0 ...

  4. Ajax的简单总结

    1. Ajax的优势和不足 1.1 Ajax的优势 1. 不需要插件支持 Ajax不需要任何浏览器插件,就可以被绝大多数主流浏览器所支持,用户只需要允许JavaScript在浏览器上执行即可. 2. ...

  5. DESede对称加密算法工具类

    利用Cipher的核心功能,自己封装了一个加密解密的工具类,可以直接使用.在使用之前需要先下载commons-codec-1.9.jar,并导入项目. 工具类如下: package com.pcict ...

  6. H5+CSS3简单动画 知识点 汇总

    乱入几个:  1.h5的一个语义化标签   figure :用于规定独立的流内容(图像 图表 照片 代码等)   figcapition:与figure配套使用,用于标签定义figure元素标题 2. ...

  7. js 中小数取整的函数

    1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...

  8. 练oj时的小技巧(大多都在oj记录里,这是被忘记的部分)

    1. getline()函数,头文件为#include<string> getline(istream &in, string &s):从输入流读入一行到string s ...

  9. [转]Git branching and tagging best practices

    Git branching and tagging best practices I am currently learning to use Git by reading Pro Git. Righ ...

  10. mac 下安装 plink

    1.  直接 brew install putty. 其自带 plink工具.