Lazy loaded image
Windows下文件夹自动版本备份及发布
字数 1050阅读时长 3 分钟
2024-1-5
2024-1-5
type
status
date
slug
summary
tags
category
icon
password
Property
Jan 5, 2024 07:21 AM

背景

我在公司用一台电脑装了Windows server 2016做服务器(其实当初准备适用Linux做服务器的,奈何打印驱动一直没有搞定),这台服务器的网络环境访问不到外网,只是在内网提供给我办公室的四台电脑共享文件夹和打印机共享。

问题

但后期我们的基础数据被其它的部门需要读取,就给了共享权限其它的几个部门,某一天我们发现其中一个Excel文件的某一列某一个月的内容全部改成了同一个内容,知道肯定是有人操作失误,弄的我们需要将一个月的手工单据全部找出来重新输入。😖

解决方案

  1. 定时发布:
    1. 增加一个共享文件夹,把我们小组的共享文件还是设置成我们4台电脑访问,此文件夹作为源文件夹;
    2. 原来已经共享给其它部门的文件夹作为发布的目标文件夹;
    3. 每日单向把源文件夹的内容覆盖掉目标文件夹进行对外发布;
  1. 版本控制:
    1. 对小组内的共享文件夹同样防止小组内部成员的误操作,把小组内的共享文件夹进行版本控制。

具体实施

  1. 定时发布
    1. 创建“源文件夹”和“目标文件夹”,源文件夹用来小组共同编辑,目标文件夹用来发布内容
    2. 随便另外建一个文件夹里面新建一个backup.bat文件,记住该文件路径
      1. 用“Win+R”输入“taskschd.msc”打开Windows任务计划程序
        1. notion image
      2. 点“操作”>“创建基本任务…”>填写任务名称>触发器选每天>启动程序>选择backup.bat文件路径>点完成
        1. notion image
          notion image
          notion image
          notion image
          notion image
    1. 版本控制
      1. 版本控制我们利用Git,点此下载Windows版本的Git,并安装到Windows上。
      2. 新建一个文件夹work作为Git仓库,—bare参数代表是裸仓库,什么内容都没有
        1. 去到上面的源文件夹里面C:\ServerFolders\源文件夹 ,在此文件夹打开命令行CMD或者git bash
          1. 上面就相当于备份数据到仓库了,为了每天自动备份版本,同样使用上面Windows任务计划程序功能,这里不截图赘述了,只给出自动推送代码
            1. 查看历史版本在C:\ServerFolders\源文件夹 下适用git log命令
              1. notion image
            2. 使用git checkout commit ID 来切换版本。

          总结

          这种版本控制并不完美在于小组成员如果错误改变了文件内容,得一个个的回退版本去找正确的版本,如果每个人都会Git拉取到本地修改、、提交、合并应该更安全一些,以后再研究一下,怎么快速找出来正确的版本。
           

          💡
          后记 因为上面的定时发布是用的Windows的BAT命令拷贝,我发现我的文件夹有2G,每次拷贝都很费时间,所以换个思路,把发布换成拉取,同样是使用Git,这样可以更快,不用改变太多文件,至于怎么实施相信看懂上面文章的人应该就会了,思路是一致的,就不赘述了。
           
          上一篇
          Python用Word模板文件生成公文(二)
          下一篇
          Gemini+ChatGPT-on-Wechat打造自己免费的AI机器人

          评论
          Loading...