导读:如今的百度云盘免费容量都是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. DB2数据库性能调整和优化(第2版)

    <DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开 ...

  2. linux面试题目--1

    Linux面试题目 填空题1. 在Linux系统中,以 (文件)方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用i节 ...

  3. iOS:quartz2D绘图(给图形绘制阴影)

    quartz2D既可以绘制原始图形,也可以给原始图形绘制阴影. 绘制阴影时,需要的一些参数:上下文.阴影偏移量.阴影模糊系数 注意:在drawRect:方法中同时调用绘制同一个图形时,在对绘制的图形做 ...

  4. form表单提交时选择性传值到后台

    正常情况下form表单提交会把表单内的内容提交到后台,但是如果有些内容只是作为展示或者是标记而不想传到后台,我们采用如下方法: jsp页面如下,我们不想提交id为userIdMark和pwdMark的 ...

  5. JavaScript 中的不可变对象(Immutable Objects)

    默认情况下,JavaScript 中的对象是可变的.我们可以更改原始值(字符串,数字等)和对象.我们来看看这个对象: let obj = { num: , obj: { content: " ...

  6. FastIV图像处理

    新建一图像处理算法群,主要讨论图像处理与计算机视觉中的快速算法及其工程实现. 群号码:322687422

  7. 云计算之路-试用Azure:一次失败的SQL Server向SQL Azure的迁移尝试

    如果数据库用的是SQL Server,那SQL Azure无疑是最吸引人的地方之一.在测试了虚拟机磁盘IO之后,我们迫不急待地进行了SQL Azure的测试. (一) 首先进入manage.windo ...

  8. Android 蓝牙开发之A2DP基本功能

    本文主要是Android做为Audio Source端,A2DP的基本操作:包括连接.断开连接.设置优先级.获取优先级.获取A2DP连接状态.获取A2DP连接的设备列表等功能. 1.简介 Audio ...

  9. Python监控进程性能数据并画图保存为PDF文档

    引言 利用psutil模块(https://pypi.python.org/pypi/psutil/),可以很方便的监控系统的CPU.内存.磁盘IO.网络带宽等性能參数,下面是否代码为监控某个特定程序 ...

  10. stderr和stdout详细解说(转)

    今天又查了一下fprintf,其中对第一个参数stderr特别感兴趣. int fprintf(FILE *stream,char *format,[argument]): 在此之前先区分一下:pri ...