由前两天RN的硬盘损坏引发的我的备份之路之rsync

哪位佬有进阶教学能否分享一下,这个只是我今天搜索了一下摸索出来的使用方式

前言

上周五RN服务器原本只是断电,我感觉没什么,直到服务器一直不行,逐渐慌乱,再到最后一个邮件发过来,数据没了,瞬间感觉天塌了,虽然不是重要的数据,但是我的那七八个小服务在上面跑着一个一个部署也是很啰嗦

开始备份

昨天给了新服务器之后我就开始了解备份方面的知识,找到了rsync,接下来就开始备份
为了清晰以下用A服务器(备份保存的服务器)B服务器(需要备份的服务器)进行命名

第一步

查看A服务器是否有rsync指令如果没有执行
apt-get install rsync

第二步

因为我是使用密钥进行登陆服务器的,所以我需要把A服务器的公钥复制放到B服务器的authorized_keys文件里面,一定要换行见下图


B服务器执行
sudo systemctl restart sshd
重启sshd

第三步A服务器安装ipanel

因为我部署都是使用的1panel,他自带的有一个定时任务,可以直接拿来用
进入找到定时任务

执行脚本填写

#!/bin/bash

# 启动 ssh-agent 并添加私钥
eval "$(ssh-agent -s)"
ssh-add /root/.ssh/id_rsa <<< "你的密钥的密码"

# 执行 rsync 命令进行备份
rsync -avz -e "ssh" 74.78.xx.xxx:/B/b /A/aa/backup

# 关闭 ssh-agent 以释放资源
kill $SSH_AGENT_PID

然后就可以把B服务器的整个文件夹备份到A服务器上面了

13 个赞

#快问快答添加

哪位佬有更高阶的用法,能分享一下

1 个赞

这破商家都没个后备电源,UPS什么的嘛,搞得被火烧了似的

我洛杉矶dc02是正常的

写个脚本结合crontab,把重要数据定时push到GitHub仓库。这是我糊了个脚本,个人在使用的,可以参考GitHub - dqzboy/BACK_SYNC_GITHUB: 备份数据到GitHub仓库

3 个赞

rsync 只是全量备份,没有版本控制。

如果纯命令行,建议使用 borg 或者 restic 增量备份。如果你的文件比较少,主要是一些配置文件,可以用 restic 增量备份到 s3。如果比较多,可以用 borg 进行增量备份到另外一台机器(前提是两台机器上都安装了 borg)。
(备注:使用 crontab 或者 systemd 增量备份,一天一次)

带网页界面的好像有 duplicati, kopia 的一些工具,不过我暂时还没用过(主要是前面提到的两个可以满足我的需求了)。

1 个赞

为了定时任务没必要上1panel,有其它应用需求就另说了

这个挺实用的

很强哈哈哈哈

因为我部署服务使用的1panel所以直接拿他当定时任务了

如果文件小且集中在几个或单个目录下 Syncthing 做同步即可

如果文件多 则推荐 Borg 做增量备份

配合 BorgWarehouse 优雅管理 Borg Repo 并支持告警

具体步骤 相信聪明的你知道如何查看了 :wink:

我用的群晖ABB

RN数据又丢了???我记得很久之前就丢过一次了来着???