需求一:
需要采购一台数据存储服务器,配置要求用于备份公司员工数据:
数据类型包含,办公文档,图片信息,和其他数据,要求定时备份,文档版本记录,删除覆盖文档,可恢复追回,员工账号分别设置不同级别的文件夹,不同级别的权限分配,软件实现,基于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 即可查看到提交推送日志
删除文件恢复测试
删除本地文件,远端文件还在,可利用还原功能恢复,提交后删除本地的文件后,可再次从服务端拉取即可
鼠标右键点击,选中还原
删除的文件即可恢复。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/104843.html