2025年关于备份同步,版本控制介绍

关于备份同步,版本控制介绍客户需求 需要显存一台数据存储服务器 配置要求用于备份公司员工数据 数据类型包含 办公文档 图片信息 和其他数据 要求定时备份 文档版本记录 删除覆盖文档 可恢复追回 员工账号分别设置不同级别的文件夹 不同级别的权限分配

需求一:

需要采购一台数据存储服务器,配置要求用于备份公司员工数据:

数据类型包含,办公文档,图片信息,和其他数据,要求定时备份,文档版本记录,删除覆盖文档,可恢复追回,员工账号分别设置不同级别的文件夹,不同级别的权限分配,软件实现,基于windows和linux的操作系统。

需求二

一台电脑某些重要文件夹,文件主要类型为文档,图片,软件包,多媒体文件,需要定期同步或者自动同步到移动硬盘

硬件环境一台主机电脑,一个移动硬盘

实验案例参见章节 实验二

Syncthing 

Syncthing是一个开源的文件同步客户端与服务器软件,采用Go语言编写。它可以在本地网络上的设备之间或通过Internet在远程设备之间同步文件,使用了其独有的对等自由块交换协议。

官方下载

https://syncthing.net/downloads/

实验一:

linux 平台(使用vmware 虚拟机安装ubuntu20.04 )

安装软件包步骤省略,登录控制台(这里的linux是无桌面版的,需要开启远程访问web界面)

参考官方文档如下:

The following child elements may be present:

address (mandatory: Exactly one element must be present.)
Set the listen address. Allowed address formats are:

IPv4 address and port (127.0.0.1:8384)
The address and port are used as given.

IPv6 address and port ([::1]:8384)
The address and port are used as given. The address must be enclosed in square brackets.

Wildcard and port (, , 0.0.0.0:12345[::]:12345:12345)
These are equivalent and will result in Syncthing listening on all interfaces via both IPv4 and IPv6.

UNIX socket location (/var/run/st.sock)
If the address is an absolute path it is interpreted as the path to a UNIX socket.

则执行

./syncthing serve --gui-address=0.0.0.0:8384

web界面访问

添加同步的文件夹即可。

更改或删除文件夹都会双向进行同步,也可设置版本控制,删除或者修改的文件,会放入指定的文件夹。

此处设置的是5个简单的版本控制

windows平台(本地物理机win10系统)

安装软件包步骤省略登录控制台,创建同步的文件夹即可

实验二

本地设备同步配置实验案例

环境介绍

配置本地系统文件夹和本地磁盘同步配置,环境如下

配置ubuntu虚拟机 :192.168.119.129

虚拟网卡配置IP:192.168.119.1

本地windows安装同步软件:本地地址为虚拟网卡地址

移动硬盘一个:文件系统为NTFS,ubuntu中挂载写入需要安装ntfs-3g包

同步思路,windows下部分文件夹,需要定期备份,采用虚拟机挂载物理磁盘(NTFS格式),同步备份。

配置步骤
虚拟机添加物理磁盘

移动硬盘格式化成NTFS,后虚拟机界面添加磁盘

这里选择第二块磁盘即可

ubuntu中lsblk查看磁盘信息,发现已经识别,新建文件夹/data,并设置挂载

windows下配置

windows下Syncthing配置需要要备份的文件夹,并设置共享,编辑文件权限为仅发送,防止同步文件被错误覆盖,导致本地源丢失数据,配置如下图

windows和linux均安装好后,windows点击文件共享即可,登录linux界面会提示是否添加设备

linux下配置

linux端设置文件夹类型为仅接收

等待同步进度,系统文件夹下,文件已经传送

同步文件夹和同步时间均可在web界面发送端设置,同步完成可以关闭虚拟机,拔出移动硬盘,下次同步需要打开虚拟机,挂载移动硬盘,运行同步软件连接成功后,可手动再次同步。

另外介绍其他两种代码管理工具,也可以适用于文件备份和版本可控制,比较适合开发人员,相对于客户业务操作人员就比较陌生。

SVN

Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统

服务端

下载server版本

https://www.visualsvn.com/files/VisualSVN-Server-5.4.0-x64.msi

安装后打开

鼠标右键新建仓库命名为test

创建用户admin

网页端登录查看如下

svn客户端

客户端下载链接

https://tortoisesvn.net/downloads.html

安装完毕后,检出服务端项目

空的仓库中拷贝测试文件,鼠标右键空白处,提交即可

网页版文件已经同步到服务端如下图

修改或者新增文件,需要手动操作,鼠标空白处选择commit,即可,删除本地文件,则服务端不受影响,服务端文件被删除,则可以利用客户端仓库副本进行恢复。

GIT

git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

(搭建步骤大致和svn相同,同步到服务端文件,每次都需要要手动点提交。)

客户端工具

https://tortoisegit.org/

下载安装完如下图

搭建步骤参见官方:

https://git-scm.com/

https://www.runoob.com/git/git-server.html

ubuntu部署git实验

系统安装步骤省略

我这里已经安装过git,安装执行命令sudo apt install git即可

wx@wx:~$ sudo apt install git
[sudo] password for wx:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.34.1-1ubuntu1.11).
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
wx@wx:~$ git version
git version 2.34.1
wx@wx:~$

创建版本库

wx@wx:~$ pwd
/home/wx
wx@wx:~$ mkdir data
wx@wx:~$ cd data
wx@wx:~/data$ git init --bare  data.git
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m <name>
Initialized empty Git repository in /home/wx/data/data.git/
wx@wx:~/data$

克隆

客户端执行克隆,wx@192.168.50.171:/home/wx/data/data.git

wx是我的用户名

克隆完成,此时是空仓库,复制图片文件到目录下,鼠标右键点击提交,

再次提交测试

登录服务器,执行git log 即可查看到提交推送日志

删除文件恢复测试

删除本地文件,远端文件还在,可利用还原功能恢复,提交后删除本地的文件后,可再次从服务端拉取即可

鼠标右键点击,选中还原

删除的文件即可恢复。

编程小号
上一篇 2025-03-08 15:51
下一篇 2025-03-20 23:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/104843.html