备份计划——自动备份软件

3次阅读
没有评论

备份计划

项目介绍

通过程序对文件夹进行自动备份 <br>
目前支持 定时自动备份 及 监控自动备份 <br>
目前支持 webdav同步保存备份 及 samba同步保存备份<br>
目前支持以下压缩格式 zip, tar.gz, tar.bz2, tar.xz, 7z <br>
目前支持以下格式加密压缩 zip, 7z<br>
绝不是因为不会用FreeFileSync GoodSync<br>
本项目开源 仓库地址

项目更新

更新内容(v1.0.1):

  1. 代码重构 降低耦合度
  2. 添加组件单元测试
  3. 配置加密保存
  4. 添加最小化到托盘
  5. 添加 zip, 7z 格式的加密压缩
  6. 添加 webdav 服务支持
  7. 添加 samba 服务支持
  8. 添加场景切换
  9. 修复部分已知错误
补充说明1

看到大佬们问的一些问题 补充回答一下

  1. 和 freefilesync, goodsync, filegee 的区别和特色
    区别就是全是区别 特色就是没有特色
    就像我一开始说的这个其实是我实在用不懂 freefilesync
    所以干脆自己写个符合自己要求的简单程序
    目前对我来说它是及格的
    <br>
  2. ubuntu 等 linux 平台可不可以运行
    可以 若有需要请前往仓库地址 Release 中找到编译好的 Linux端程序<br>
    可能存在依赖性问题 可以尝试运行下述命令安装部分依赖<br>


    sudo apt install --reinstall libxcb-xinerama0```

补充说明2

看评论有对FTP, 增量备份或使用方法有需求或疑问的 在此补充说明 <br>

  1. FTP 增量备份等功能会不会有? 什么时候有? <br>
    这些功能后续可能有 但目前没有时间精力做 本职工作重要 <br>
    有兴趣自己做的我可以大概说一下<br>
    FTP 直接添加模块 再写好关联函数就行 增量备份和监控备份有很大相似之处 只要备份前检查目录快照即可<br>
  2. 能否保证备份效果 如Excel等软件? <br>
    对于专业软件请更多依靠其自身备份功能,不保存前所有你的输入都在缓冲区还没写到真正的文件里 <br>
    这个时候触发的备份是不会记录你的输入的 <br>
  3. 更多定制化功能 如保存文件命名方式等 <br>
    同1 没有时间精力做 感兴趣可以自己改 <br>
    应该是修改 uitls/compressor.py 里面的保存方式就可以了 再把 collector.py 里的正则表达式改掉<br>
安装教程

下载压缩包,解压后直接运行即可 <br>
仓库地址中 Release 可以下载编译好的 Windows端 和 Linux端程序<br>
Backup-Schedule v1.0.1 提取码: 63m1

使用说明
  1. 主界面操作 <br>
    运行 main.exe 进入主界面 数据以表格形式进行展示<br>
    右键打开功能菜单可以实现计划的增删改查及远程服务设置 右上角下拉菜单可以实现场景切换<br>
  2. 管理计划 <br>
    功能菜单中选择新建进入新建计划界面 根据需要填写相关参数<br>
    在主界面中选中某一行 此时可以通过右键功能菜单 实现计划配置的修改及删除<br>
    在主界面中鼠标双击某一行可直接进入对于计划配置修改界面<br>
  3. 远程同步 <br>
    功能菜单中选择 远程 进入远程服务设置界面 勾选对应选择框并填写相关参数后确认即可<br><br>
    Webdav服务以 坚果云 为例 需填写 服务器地址 保存根目录 用户名 以及 用户密码<br>
    在坚果云网页端找到 账户信息 -> 安全选项 -> 添加应用 -> 得到密码<br>
    填写示例:<br>
    host config: https://dav.jianguoyun.com/dav/;/Target&lt;br&gt;
    username: 123456789@abc.com<br>
    password: 123456<br>
    Samba服务 需填写 服务器地址 端口 远程文件夹名称 保存根目录 用户名 以及用户密码<br>
    填写示例:<br>
    host config: 192.168.1.6;445;remote_folder;/Target<br>
    username: abcde<br>
    password: 123456<br><br>
    当远程服务成功添加后 程序将会在指定根目录下创建 Backup-Schedule 目录 并根据计划名称创建子文件夹<br>
    子文件夹结构与本地备份保存目录结构一致<br>
  4. 计划信息提示 <br>
    主界面表格对应位置悬停可查看相应信息<br>
    状态 -> 下次执行时间/上次修改时间<br>
    源目录/保存目录 -> 完整目录路径<br>
    备份数/备份大小 -> 本地目录 Webdav目录 Samba目录下存在的备份数量及其大小<br>
  5. 自动执行计划 <br>
    当计划检测到 触发条件 即 到达定时时间 或 文件夹内容存在修改 将自动执行备份操作 <br>
    备份文件将按照规定格式及计划指定的目录进行保存<br>
注意事项
  1. 为避免占用过多系统资源 限制同时最多存在 十个定时任务 <br>
    如果确有需求 修改如下位置代码后自行编译运行即可

    //utils\runner.py line 23
    executors = {
    'default': ThreadPoolExecutor(10)
    }

  2. 如果你想自动备份的文件夹是 需要编译的工程 比如 KEIL工程等<br>
    不建议使用监控任务 的触发方式
    如果确有需求 修改如下位置代码后自行编译运行即可 请确保定时器时间大于或等于编译时间

    //utils\monitor.py line 38
    self.timer = threading.Timer(3, self.check_snap_shot)

  3. 监控触发方式 将监控 指定文件夹下的所有文件 包括其子文件夹及子文件夹下所有文件 <br>
    请避免同时需要监控的文件过多占用大量系统资源

  4. 远程同步备份不受限制 当计划存在限制条件时 远程的备份不会自动同步进行限制即不会限制其数量/大小 <br>

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2024-11-30发表,共计2268字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码