Linux下通过Rclone备份重要数据到webdav

  1. Linux下通过Rclone备份重要数据到webdav
    1.   随着工作和生活的不断拓展,每个人产生的数据越来越多,从个人证件、证书等个人信息到文章、文档等各类信息,再到照片、视频等资料,往往都会放在网络之中,方便自己随时查阅调取,但在方便自己的同时,也给黑客一个免费获取你信息的渠道,所以保密和安全犹为重要。
    2.   这其中便有一个数据安全的问题,以前的自己总是随身携带一个U盘,什么资料都往里面装,但在丢了无数个U盘之后,终于醒悟,不再执着于实体存储器,就是把相关数据保存的网络中,自己想要的时候随时可以查看。但这样就是随时有备份的打算,毕竟数据无价。我就曾经因网络权限太开放,被国外黑客攻破后加密了我所有的资料,勒索多钱,好在重要数据都有备份,那些没备份的者不是重要的。现在看看怎么备份。
    3.   通常我都用syncthing做多个备份,这个备份是实时的,可以不同主机之间进行备份。另一个备份方式就是通过Rclone备份重要数据到webdav或其他网盘。
    4. 一、安装rclone
      1. linux:
      2. openwrt:
    5. 二、配置rclone
      1.   可以看到支持几十个市面流行的网盘存储方式。
      2.   我暂时想备份到坚果云,毕竟坚果云的webdav存储非常好用,自己也建立了webdav服务器,操作是一样的。
      3.   选择52的webdav当然rclone版本不一样支持的范围有变,可能序号有差别。
      4.   输入52,选择新建(NEW),输入你自己要取的名字,用以区别,我输入jianguoyun:
      5.   到这里就基本配置完成了,当然在坚果云中要单独设置一个应用,会配置一个随机密码,用户名就是你的坚果云用户名。
    6. 三、配置备份
      1. 备份命令:
      2. 可在“crontab”系统定时任务中做定时备份,则自动会备份了。

Linux下通过Rclone备份重要数据到webdav

  随着工作和生活的不断拓展,每个人产生的数据越来越多,从个人证件、证书等个人信息到文章、文档等各类信息,再到照片、视频等资料,往往都会放在网络之中,方便自己随时查阅调取,但在方便自己的同时,也给黑客一个免费获取你信息的渠道,所以保密和安全犹为重要。

  这其中便有一个数据安全的问题,以前的自己总是随身携带一个U盘,什么资料都往里面装,但在丢了无数个U盘之后,终于醒悟,不再执着于实体存储器,就是把相关数据保存的网络中,自己想要的时候随时可以查看。但这样就是随时有备份的打算,毕竟数据无价。我就曾经因网络权限太开放,被国外黑客攻破后加密了我所有的资料,勒索多钱,好在重要数据都有备份,那些没备份的者不是重要的。现在看看怎么备份。

  通常我都用syncthing做多个备份,这个备份是实时的,可以不同主机之间进行备份。另一个备份方式就是通过Rclone备份重要数据到webdav或其他网盘。

一、安装rclone

linux:

1
sudo apt update & apt install rclone

openwrt:

1
2
opkg update
opkg install rclone

二、配置rclone

1
2
3
4
5
rclone config
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config

提示没有路由配置,输入n新建一个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Enter name for new remote.
name> jianguoyun

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
3 / Alias for an existing remote
\ (alias)
4 / Amazon Drive
\ (amazon cloud drive)
...

16 / FTP
\ (ftp)
...

44 / SMB / CIFS
\ (smb)
45 / SSH/SFTP
\ (sftp)
...

52 / WebDAV
\ (webdav)

  可以看到支持几十个市面流行的网盘存储方式。

  我暂时想备份到坚果云,毕竟坚果云的webdav存储非常好用,自己也建立了webdav服务器,操作是一样的。

  选择52的webdav当然rclone版本不一样支持的范围有变,可能序号有差别。

  输入52,选择新建(NEW),输入你自己要取的名字,用以区别,我输入jianguoyun:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name>jianguoyun

https://dav.jianguoyun.com/dav/

user: xxxxx@yyyy.zz

Option pass.
Password.
Choose an alternative below. Press Enter for the default (n).
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank (default)
y/g/n> y

Enter the password:
password:
Confirm the password:
password:

#其他的可直接回车

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: webdav
- url: https://dav.jianguoyun.com/dav/
- user: xxxxx@yyyy.zz
- pass: *** ENCRYPTED ***
Keep this "jianguoyun" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name Type
==== ====
jianguoyun webdav

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>

  到这里就基本配置完成了,当然在坚果云中要单独设置一个应用,会配置一个随机密码,用户名就是你的坚果云用户名。

三、配置备份

备份命令:

1
rclone copy --fast-list /home/docker_data/vaultwarden/* jianguoyun:vaultwarden/

也可设置一个本地备份目录,将需要备份的内容备份在本地目录再将目录内的东西,全部备份到云端:
backups.sh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash

# 获取当前日期
backup_date=$(date +\%Y\%m\%d)

# 备份目录
dir="/dav/backups"

# 判断备份目录是否存在,如果不存在则创建
if [ ! -d "$backup_dir" ]; then
mkdir -p $backup_dir
fi

# 执行备份操作,将指定文件夹下的文件复制到备份目录
#cp -R /home/user/data $backup_dir/data_$backup_date

# 压缩备份文件,并将压缩文件存储到备份目录
#tar -czvf $backup_dir/data_$backup_date.tar.gz $backup_dir/data_$backup_date
cd /home/docker_data && tar -zcvf /dav/backups/memos-$(date +\%Y\%m\%d).tar.gz memos
echo "memos backuped"

cd /home/docker_data && tar -zcvf /dav/backups/vaultwarden-$(date +\%Y\%m\%d).tar.gz vaultwarden

cd /home/docker_data && tar -zcvf /dav/backups/2Fauth-$(date +\%Y\%m\%d).tar.gz 2Fauth

cd /home/docker_data && tar -zcvf /dav/backups/rustdesk-$(date +\%Y\%m\%d).tar.gz rustdesk

cd /home/docker_data && tar -zcvf /dav/backups/home-assistant-$(date +\%Y\%m\%d).tar.gz home-assistant

cd /etc/ && tar -zcvf /dav/backups/nginx-$(date +\%Y\%m\%d).tar.gz nginx

cd /etc && tar -zcvf /dav/backups/alist-$(date +\%Y\%m\%d).tar.gz alist

cd /etc && tar -zcvf /dav/backups/ddns-go-$(date +\%Y\%m\%d).tar.gz ddns-go

cd /etc && tar -zcvf /dav/backups/v2raya-$(date +\%Y\%m\%d).tar.gz v2raya

# 记录备份日志,包括备份日期、备份文件名、备份文件大小等信息
#backup_size=$(du -h $backup_dir/data_$backup_date.tar.gz | awk '{print $1}')
#echo "$backup_date Backup Completed: data_$backup_date.tar.gz ($backup_size)" >> $backup_dir/backup.log

#cp -r /etc/ddns-go /dav/backups/
#cp -r /etc/alist /dav/backups/


echo "Now upload /dav/backups to alist:189-180/backups/ "
rclone copy --fast-list /dav/backups/ jianguoyun:backups/

echo "backuped Bye!!"

命令中的“jianguoyun”就是之前自己取的名称,后面“backups”是坚果云内的文件目录。
至此配置完成。

可在“crontab”系统定时任务中做定时备份,则自动会备份了。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏