导读:如今的百度云盘免费容量都是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. android基础知识复习——RelativeLayout布局属性、背景、半透明设置(XML设置)

    转自:http://blog.csdn.net/fansongy/article/details/6817968 复习布局与XML,写了一个空的登录界面.XML的注释我写在当行的后面了.程序运行图: ...

  2. IOS开发错误

    After modifying system headers, please delete the module cache at '/Users/XXX/Library/Developer/Xcod ...

  3. iOS:多线程同步加锁的简单介绍

    多线程同步加锁主要方式有3种:NSLock(普通锁).NSCondition(状态锁).synchronized同步代码块 还有少用的NSRecursiveLock(递归锁).NSConditionL ...

  4. time_t和SYSTEMTIME之间的相互转换 【转】

    time_t和SYSTEMTIME之间的相互转换 #include <ctime> /* **time_t转SYSTEMTIME */ SYSTEMTIME TimetToSystemTi ...

  5. IT人士感悟(转)

    我今年39岁了,25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训.现在开一个小公司,赚的钱刚够养家糊口的.看看这些刚毕业的学生,对前景也很迷茫,想抛砖引玉,谈谈自己的看法 ...

  6. 【android开发】10款实用的Android UI工具,非常有用!

    移动应用的UI设计就好似达摩克利斯之剑,一方面,一个视觉.交互.体验良好的UI可以加强应用在用户心目中的形象和识别性.而另一方面,一个体验糟糕的UI设计不仅无法让用户沉浸在应用中,还会造成用户对应用产 ...

  7. Razor语法(二)

    I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...

  8. 【转】php中的会话机制(2)

    原文:https://segmentfault.com/a/1190000000468220 发现,在调用session_start()的时候, session_start() 里面应该是有调用类似 ...

  9. js 实现存储Map 结构的数据

    <script type="text/javascript"> function Map() { var struct = function(key, value) { ...

  10. [Angular] AfterContentChecked && AfterViewChecked

    AfterContentChecked & AfterViewChecked are called after 'OnChanges' lifecycle. And each time 'ng ...