Skip to content

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

Notifications You must be signed in to change notification settings

MorouU/robin-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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文件 -> 存储需检查目录中各个目录、文件数据的存档文件
    • 备份目录 > 用来存放需检查目录的备份的目录,需要依靠其进行目录或文件的恢复
    • [主动检查|被动检查|替换协程] >
      • 主动检查 > 遍历存储的数据进行检查
      • 被动检查 > 遍历需检查目录的各个文件进行检查
      • 替换 > 当检查到有差异时从备份目录选取正确的目录或文件进行恢复
    • 检查时间间隔 > 主动检查以及被动检查的频率(秒)

免责声明

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

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages