type
status
date
slug
summary
tags
category
icon
password
Property
Jan 5, 2024 07:21 AM
背景
我在公司用一台电脑装了Windows server 2016做服务器(其实当初准备适用Linux做服务器的,奈何打印驱动一直没有搞定),这台服务器的网络环境访问不到外网,只是在内网提供给我办公室的四台电脑共享文件夹和打印机共享。
问题
但后期我们的基础数据被其它的部门需要读取,就给了共享权限其它的几个部门,某一天我们发现其中一个Excel文件的某一列某一个月的内容全部改成了同一个内容,知道肯定是有人操作失误,弄的我们需要将一个月的手工单据全部找出来重新输入。😖
解决方案
- 定时发布:
- 增加一个共享文件夹,把我们小组的共享文件还是设置成我们4台电脑访问,此文件夹作为源文件夹;
- 原来已经共享给其它部门的文件夹作为发布的目标文件夹;
- 每日单向把源文件夹的内容覆盖掉目标文件夹进行对外发布;
- 版本控制:
对小组内的共享文件夹同样防止小组内部成员的误操作,把小组内的共享文件夹进行版本控制。
具体实施
- 定时发布
- 创建“源文件夹”和“目标文件夹”,源文件夹用来小组共同编辑,目标文件夹用来发布内容
- 随便另外建一个文件夹里面新建一个
backup.bat
文件,记住该文件路径 - 用“Win+R”输入“taskschd.msc”打开Windows任务计划程序
- 点“操作”>“创建基本任务…”>填写任务名称>触发器选每天>启动程序>选择backup.bat文件路径>点完成
- 版本控制
- 版本控制我们利用Git,点此下载Windows版本的Git,并安装到Windows上。
- 新建一个文件夹
work
作为Git仓库,—bare参数代表是裸仓库,什么内容都没有 - 去到上面的源文件夹里面
C:\ServerFolders\源文件夹
,在此文件夹打开命令行CMD
或者git bash
- 上面就相当于备份数据到仓库了,为了每天自动备份版本,同样使用上面Windows任务计划程序功能,这里不截图赘述了,只给出自动推送代码
- 查看历史版本在
C:\ServerFolders\源文件夹
下适用git log
命令 - 使用
git checkout commit ID
来切换版本。
总结
这种版本控制并不完美在于小组成员如果错误改变了文件内容,得一个个的回退版本去找正确的版本,如果每个人都会Git拉取到本地修改、、提交、合并应该更安全一些,以后再研究一下,怎么快速找出来正确的版本。
后记
因为上面的定时发布是用的Windows的BAT命令拷贝,我发现我的文件夹有2G,每次拷贝都很费时间,所以换个思路,把发布换成拉取,同样是使用Git,这样可以更快,不用改变太多文件,至于怎么实施相信看懂上面文章的人应该就会了,思路是一致的,就不赘述了。
- 作者:集家嘴的壳玛🐸
- 链接:https://blog.kyeo.top/article/publish-and-backup
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。