自动备份Linux上的博客数据到坚果云
欢迎访问陈同学博客原文
本文主要内容拷贝于这篇文章 备份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上的博客数据到坚果云相关推荐
- linux 备份mysql并上传_实现Linux中Mysql数据库自动备份并上传到远程FTP服务器
这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到 ...
- linux 定时任务 (python 爬虫统计博客数据)
linux 定时任务 (python 爬虫统计博客数据) 1. 任务目标 定时任务中,每天统计一下今日博客的各项数据,并以邮件的形式发送给自己. 2. linux 定时任务 (python) 一切复杂 ...
- linux mangos创建账号,魔兽mangos系统用户数据自动备份Linux脚本
魔兽mangos系统用户数据自动备份Linux脚本 来源: 作者: 点击: #!/bin/bash USER= PASS= DBNAME=mangos RNAME=realmd clear echo ...
- mysql远程定时任务_Linux下定时任务实现mysql自动备份并上传远程ftp
Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...
- ajax自动加载blogjava和博客园的rss
自动加载blogjava和博客园的rss <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "h ...
- 备份Linux系统的数据到坚果云
坚果云支持webdav,则可以在Linux下使用命令行或脚本将数据备份到坚果云空间. 开启坚果云WebDAV服务 "账户信息"--"安全选项" 方式1:使用ca ...
- linux cadaver 命令,备份Linux系统的数据到坚果云
坚果云支持webdav,则可以在Linux下使用命令行或脚本将数据备份到坚果云空间. 开启坚果云WebDAV服务 "账户信息"--"安全选项" 方式1:使用ca ...
- linux cadaver 命令,备份Linux操作系统的数据到坚果云的方法
坚果云支持WebDAV,这样就能在Linux操作系统中使用命令行或者脚本的方式把数据备份到坚果云空间中,本文提供实现的方法. 首先开启坚果云WebDAV服务 "账户信息"--&qu ...
- 2019年总结回顾 ~ 开心!评上CSDN博客专家-100篇博文回顾人工智能的前行之路!
2019年充实而圆满的过去,CSDN这一年也写了很多笔记和内容,一直想进行总结,这次进行一个大致总结. 感谢CSDN的认可,评上了博客专家,感谢CSDN的小编,在一直帮助着我 CSDN相关的内容可以按 ...
最新文章
- Python 的6个日期时间库
- 龙芯派启用串口3-5
- vue本地下载文件,解决ie浏览器本地下载文件无反应(已解决);vue-cli2本地下载文件,vue-cli3本地下载文件
- [Diary]忧伤,止不住忧伤……
- Redis的安装与使用
- “A class named TcxRect already exists”错误
- Python中的无序集合(set)
- 端口打流互通功能测试
- bootstrap的提示框bootbox.js
- 电脑版微信多开显示网络代理服务器,电脑版微信多开办法,超级简单,一看就会...
- 月入3万多的程序员回老家, 被亲戚说不如县城卖手机月入2千的表弟
- Obtaining Reliable Human Ratings of Valence, Arousal, and Dominance for 20,000 English Words
- Python数据分析_美国犯罪数据_US_Crime_Rates EDA.csv
- 基于Tesseract-OCR的空调外包装表面的字符识别
- 波特(Baud)与比特(bit)换算详解
- html区域框什么意思,如何理解【没有padding 、margin、border的情况下 ,行内框等于内容区域】这句话?...
- 程序员的自我修养:有助于提高沟通能力的7本书
- PLUTO SDR入门系列之二:PlutoSDR拆解
- Windows平台优秀软件推荐(程序员推荐)
- 何志丹软件架构师、高级程序员证书备案,方便以后交流、找工作