# backup-util **Repository Path**: andy2198/backup-util ## Basic Information - **Project Name**: backup-util - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-21 - **Last Updated**: 2024-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用备份工具 一个简单的文件备份工具,通过配置文件config.ini配置源文件和目标文件,自动化压缩文件夹,并拷贝到备份移动硬盘中。 ## 为什么重复造轮子 市面上有很多数据备份工具,但是找到免费、好用、无毒、可任意定制的工具需要浪费大量时间,莫不如自己编写,放心实用,也可开源供别人改进 运行环境:java版本1.8 使用了apache compress库 ## 使用方式: - 目前没有封装成可执行文件,需要在开发环境(eclipse或者idea)打开并运行GuiFrame中的main函数 - 也可以自己构建(mvn clean package),然后运行java -jar backup-util-1.0.0.jar - 配置文件config.ini,内容参考: 1. 说明,不想备份的行用#注释即可,格式为:源文件夹 ; 目标文件夹 ; 不需要打包的子文件夹名(目前不考虑文件夹层级) 2. 一行举例:d:/projects/A ; F:/backup/projects/ ; output 3. 结果:最终会把d:/projects/A 压缩成 A.zip,其中所有文件夹名称等于output的都不会被打包,并移动到F:/backup/projects/A.zip 4. 如果F:/backup/projects/A.zip 已经存在会被新的备份覆盖 ## 数据无价,谨慎操作 ## 备份可参考321法则 ## 这里个人建议简单的备份方案: 1. 购买一个机械移动硬盘 2. 每隔1-3个月备份重要数据(配置好文件,插入移动硬盘,运行即可) 3. 使用工具备份后,把移动硬盘数据上传到百度云等网盘中 4. 这样便形成了3份数据,2种介质,1个异地的简易321备份方案。 ## 改进可能: 1. 压缩速度 2. 压缩算法 3. ui界面的增加或者改成.net开发版本 4. 自动判断整个文件夹是否修改过 5. 过滤指定文件夹:如node_modules,target 以下这段没啥用: 文件本身的变动可以通过读取最后修改时间查询到 文件夹的最后修改时间代表的是文件夹内部文件变动(增加,删除)的时间,内部文件修改的时间不能反馈到文件及的最后修改时间上 初步规划为: - 编写配置文件:指定备份的目录,和目标目录(一般为移动硬盘) - 程序读取这些配置,zip压缩,输出信息:源名称-目标名称,执行时间,备份后大小