欢迎访问陈同学博客原文
本文主要内容拷贝于这篇文章 备份Linux系统数据到坚果云,自己做了些拓展,感谢作者。

本文分享两个博客相关小技巧,一是自动备份Linux上博客数据到坚果云和本机,二是搭建一个图片服务器来存储博客用到的图片。

云服务器甩卖时屯了几年低配机,博客数据每天备份在磁盘并定期下载到本地,可这操作是又慢又麻烦。

下面介绍利用坚果云支持 WebDAV 特性完成备份操作。

##准备工作

所需材料

  • 坚果云账户一个,免费版完全够用
  • 服务器一台(下面命令以CentOS 7 为例)
  • 坚果云 PC 客户端

坚果云配置

账户信息 -> 安全选项 -> 第三方应用 添加一个应用,这里创建一个 blog 应用。然后在坚果云创建一个任意名称的文件夹,我创建为 backup

命令行手工备份

先手工操作进行演示,利用 cadaver 工具进行来操作,先安装 cadaver

yum install cadaver

创建 hello.txt ,待会用命令行传递到坚果云。

echo hello >> hello.txt
# 连接坚果云
cadaver https://dav.jianguoyun.com/dav/

根据提示输入 坚果云账户 和刚才创建的 blog应用的密码,进入交互模式。

Authentication required for nutstore on server `dav.jianguoyun.com':
Username: xxx@gmail.com
Password:
dav:/dav/>

输入help,可看到所支持的命令。

进入坚果云 backup 目录,将 hello.txt 上传到坚果云。

dav:/dav/> cd backup
dav:/dav/backup/> put hello.txt
Uploading hello.txt to `/dav/backup/hello.txt':
Progress: [=============================>] 100.0% of 6 bytes succeeded.

PC上的坚果云客户端立马会把文件同步到本地,几秒钟本机就会收到通知。

脚本自动备份

手工备份自然不行,这里演示自动备份。

首先,在当前用户的 home 目录创建 .netrc 文件,内容如下:

machine dav.jianguoyun.com
login xxx@gmail.com # 坚果云账户
password xxxxxx # blog 应用的密码

此时,再执行 cadaver https://dav.jianguoyun.com/dav/ 命令就不用输入账户密码。

创建一个脚本,随意命名为 davbak ,其中使用cadaver支持的命令即可(可先用命令行测试)。

put word.txt
bye

执行下面命令以执行 davbak 脚本,操作的目录为 backup

[root@centos ~]# cadaver https://dav.jianguoyun.com/dav/backup/ < davbak
dav:/dav/backup/> put word.txt
Uploading word.txt to `/dav/backup/word.txt': succeeded.
dav:/dav/backup/> bye
Connection to `dav.jianguoyun.com' closed.

至此,可以跑个cron任务,每天备份数据到某个目录,然后再定期自动执行脚本将文件上传到坚果云。

服务器同步盘

更进一步,进行实时备份,坚果云PC客户端可以做同步盘,实时将数据备份到坚果云,同理,Linux服务器也可以做到。实现 Linux服务 -> 坚果云 -> 本地PC 三者实时同步,任何操作都会同步到三个地方。

先安装 davfs2。

yum install -y davfs2

/etc/davfs2/davfs2.conf 中的 ignore_dav_header 0 改为 ignore_dav_header 1,否则下面的挂载操作会报:mount.davfs: mounting failed; the server does not support WebDAV.

创建目录 /mnt/dav,然后将坚果云的 /backup 目录挂载到 /mnt/dav。

mount.davfs https://dav.jianguoyun.com/dav/backup  /mnt/dav

输入坚果云账户和应用密码即可,如果不想输入账户密码,可在 /etc/davfs2/secrets 的最后面加一行:

https://dav.jianguoyun.com/dav/backup 坚果云账户 应用密码

此时,服务器、坚果云、本机三者的数据就都同步了。

博客数据只需每晚自动打包并移动到 /mnt/dav 目录,就会自动备份。此时,博客数据在服务器、坚果云都有备份。

如果需要umount,可执行:

umount /mnt/dav

图片服务器

写作时喜欢在本机用Typora,插入图片时不是很方便。利用坚果云的WebDAV服务,图片直接保存在本机同步盘,然后自动上传到坚果云,再自动同步到服务器。还可以随时编辑图片,自动更新。

然后在服务器上使用 nginx 代理一下,就可以在markdown中插入图片的URL了。

server {listen 80;server_name example.com; location / {expires 10d;root /mnt/dav;   }
}

最后,安利下坚果云,做同步盘用了几年,非常好用。免费版上传流量1G/月,下载流量3G/月,完全够用。

拓展阅读

WebDAV 与 davfs2

WebDAV是什么?网盘的WebDAV有什么用?
How to mount WebDAV share

WebDAV 全称 Web-based Distributed Authoring and Versioning,是一种基于HTTP的通讯协议,翻译为:基于Web的分布式编写和版本控制协议。通过WebDAV 协议,用户可以用自己的账户操作远程服务器上的资源,这样操作资源和在PC、移动端操作资源是一样的,都是该用户进行操作。

davfs2 全称 WebDAV Linux File System,它可以完全集成在类Unix系统中作为一个工具存在。通过它可以将 WebDAV Server上的资源直接与本机目录挂载到一起,使得操作本机资源就和操作WebDAV服务上的资源一样。

.netrc

The .netrc file

.netrc 是一个位于home目录的文本文件,包含远程用户的登录和初始化信息,可以被自动登录程序使用。

下面是例子,machine 是远程机器名,login 是远程用户名,password 是密码。

machine dav.jianguoyun.com
login xxx@gmail.com
password xxxxxx

欢迎关注陈同学的公众号,一起学习,一起成长

自动备份Linux上的博客数据到坚果云相关推荐

  1. linux 备份mysql并上传_实现Linux中Mysql数据库自动备份并上传到远程FTP服务器

    这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到 ...

  2. linux 定时任务 (python 爬虫统计博客数据)

    linux 定时任务 (python 爬虫统计博客数据) 1. 任务目标 定时任务中,每天统计一下今日博客的各项数据,并以邮件的形式发送给自己. 2. linux 定时任务 (python) 一切复杂 ...

  3. linux mangos创建账号,魔兽mangos系统用户数据自动备份Linux脚本

    魔兽mangos系统用户数据自动备份Linux脚本 来源: 作者: 点击: #!/bin/bash USER= PASS= DBNAME=mangos RNAME=realmd clear echo ...

  4. mysql远程定时任务_Linux下定时任务实现mysql自动备份并上传远程ftp

    Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...

  5. ajax自动加载blogjava和博客园的rss

    自动加载blogjava和博客园的rss <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "h ...

  6. 备份Linux系统的数据到坚果云

    坚果云支持webdav,则可以在Linux下使用命令行或脚本将数据备份到坚果云空间. 开启坚果云WebDAV服务 "账户信息"--"安全选项" 方式1:使用ca ...

  7. linux cadaver 命令,备份Linux系统的数据到坚果云

    坚果云支持webdav,则可以在Linux下使用命令行或脚本将数据备份到坚果云空间. 开启坚果云WebDAV服务 "账户信息"--"安全选项" 方式1:使用ca ...

  8. linux cadaver 命令,备份Linux操作系统的数据到坚果云的方法

    坚果云支持WebDAV,这样就能在Linux操作系统中使用命令行或者脚本的方式把数据备份到坚果云空间中,本文提供实现的方法. 首先开启坚果云WebDAV服务 "账户信息"--&qu ...

  9. 2019年总结回顾 ~ 开心!评上CSDN博客专家-100篇博文回顾人工智能的前行之路!

    2019年充实而圆满的过去,CSDN这一年也写了很多笔记和内容,一直想进行总结,这次进行一个大致总结. 感谢CSDN的认可,评上了博客专家,感谢CSDN的小编,在一直帮助着我 CSDN相关的内容可以按 ...

最新文章

  1. Python 的6个日期时间库
  2. 龙芯派启用串口3-5
  3. vue本地下载文件,解决ie浏览器本地下载文件无反应(已解决);vue-cli2本地下载文件,vue-cli3本地下载文件
  4. [Diary]忧伤,止不住忧伤……
  5. Redis的安装与使用
  6. “A class named TcxRect already exists”错误
  7. Python中的无序集合(set)
  8. 端口打流互通功能测试
  9. bootstrap的提示框bootbox.js
  10. 电脑版微信多开显示网络代理服务器,电脑版微信多开办法,超级简单,一看就会...
  11. 月入3万多的程序员回老家, 被亲戚说不如县城卖手机月入2千的表弟
  12. Obtaining Reliable Human Ratings of Valence, Arousal, and Dominance for 20,000 English Words
  13. Python数据分析_美国犯罪数据_US_Crime_Rates EDA.csv
  14. 基于Tesseract-OCR的空调外包装表面的字符识别
  15. 波特(Baud)与比特(bit)换算详解
  16. html区域框什么意思,如何理解【没有padding 、margin、border的情况下 ,行内框等于内容区域】这句话?...
  17. 程序员的自我修养:有助于提高沟通能力的7本书
  18. PLUTO SDR入门系列之二:PlutoSDR拆解
  19. Windows平台优秀软件推荐(程序员推荐)
  20. 何志丹软件架构师、高级程序员证书备案,方便以后交流、找工作

热门文章

  1. [图像处理-1]:颜色中英文对照表 颜色名字 色彩名称
  2. java高并发之魂:Synchronize
  3. 3、流量分析--分组TopN统计
  4. 量子计算机 量子不确定性_量子计算机将打破互联网,但前提是我们让它们
  5. 微信小程序自定义函数返回值
  6. 中国势力主导NGN建设 华为中兴ASB三足鼎立
  7. 51单片机基础——串口发送66,数码管显示66
  8. tableau的动态参数和横向对比堆叠柱形图
  9. PE新物种:从投基金到投管理机构,详解GP Stake-投资占股模式
  10. 下载安装了zotero,为什么word没显示zotero的加载项