Giter Site home page Giter Site logo

robin-go's Introduction

robin-go

一个用go写的非常简单的文件检查脚本。

注意: windows系统需把 lib/func.go 所注释的部分代码去掉才能够正常编译,Linux 开箱即用就行了

功能

  • 自动恢复检查目录

    当遇到以下情况时,会进行文件替换(复原):

    • 文件/目录权限发生变化
    • 文件/目录最后修改时间发生变化
    • 文件/目录所有者发生变化(仅限Linux)
    • 文件内容发生变化
    • 文件/目录被删除

    当遇到以下情况时,会进行文件删除(需要时会恢复):

    • 文件/目录被更名
    • 未被记录的文件/目录被添加
  • 实时生成监控日志

    会根据交互、变化以及处理情况生成实时日志记录

  • 可存档

    当执行检查后会生成指定的hash文件,该文件记录主要的配置参数以及需检查目录中各个目录/文件的数据,当二次或往后再次执行监控检查时可通过加载该hash文件继续进行上一次的监控检查。

使用说明

  • _config.json

    即默认配置文件,需放在和该文件同一目录下(或直接手动输入参数也可),其配置格式如下

    {
    	"check_dir":"[需检查目录]", 
    	"log_dir":"[用作存储日志的目录]",
    	"back_dir":"[用作备份的目录]",
    	"log_file_name":"[日志文件名称]",
    	"hash_file":"[用作记录各个文件hash值文件(可作为存档)的路径]",
    	"coroutines":"[主动检查|被动检查|替换协程数]",
    	"time_sec":"[检查间隔(秒)]"
    }
  • 参数解析

    • 需检查目录 > 需要实时监控、恢复的目录
    • 日志存储目录 > 用来存储日志文件的目录
    • 日志文件名称 > 日志文件的名称,可以按照自己的想法自定义格式
    • hash文件 -> 存储需检查目录中各个目录、文件数据的存档文件
    • 备份目录 > 用来存放需检查目录的备份的目录,需要依靠其进行目录或文件的恢复
    • [主动检查|被动检查|替换协程] >
      • 主动检查 > 遍历存储的数据进行检查
      • 被动检查 > 遍历需检查目录的各个文件进行检查
      • 替换 > 当检查到有差异时从备份目录选取正确的目录或文件进行恢复
    • 检查时间间隔 > 主动检查以及被动检查的频率(秒)

免责声明

本项目仅是练手玩意,以便我自己学习与交流.

robin-go's People

Contributors

morouu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.