通过程序对文件夹进行自动备份
目前支持 定时自动备份 及 监控自动备份
目前支持 webdav同步保存备份 及 samba同步保存备份
目前支持以下压缩格式 zip, tar.gz, tar.bz2, tar.xz, 7z
目前支持以下格式加密压缩 zip, 7z
绝不是因为不会用FreeFileSync GoodSync
更新内容(v1.0.1):
- 代码重构 降低耦合度
- 添加组件单元测试
- 配置加密保存
- 添加最小化到托盘
- 添加 zip, 7z 格式的加密压缩
- 添加 webdav 服务支持
- 添加 samba 服务支持
- 添加场景切换
- 修复部分已知错误
下载压缩包,解压后直接运行即可
可在 Release 中下载 Windows 端和 Linux 端编译好的程序
Backup-Schedule v1.0.1 提取码: 63m1
- 主界面操作
运行 main.exe 进入主界面 数据以表格形式进行展示
右键打开功能菜单可以实现计划的增删改查及远程服务设置 右上角下拉菜单可以实现场景切换
- 管理计划
功能菜单中选择新建进入新建计划界面 根据需要填写相关参数
在主界面中选中某一行 此时可以通过右键功能菜单 实现计划配置的修改及删除
在主界面中鼠标双击某一行可直接进入对于计划配置修改界面
- 远程同步
功能菜单中选择 远程 进入远程服务设置界面 勾选对应选择框并填写相关参数后确认即可
Webdav服务以 坚果云 为例 需填写 服务器地址 保存根目录 用户名 以及 用户密码
在坚果云网页端找到 账户信息 -> 安全选项 -> 添加应用 -> 得到密码
填写示例:
host config: https://dav.jianguoyun.com/dav/;/Target
username: [email protected]
password: 123456
Samba服务 需填写 服务器地址 端口 远程文件夹名称 保存根目录 用户名 以及用户密码
填写示例:
host config: 192.168.1.6;445;remote_folder;/Target
username: abcde
password: 123456
当远程服务成功添加后 程序将会在指定根目录下创建 Backup-Schedule 目录 并根据计划名称创建子文件夹
子文件夹结构与本地备份保存目录结构一致
- 计划信息提示
主界面表格对应位置悬停可查看相应信息
状态 -> 下次执行时间/上次修改时间
源目录/保存目录 -> 完整目录路径
备份数/备份大小 -> 本地 Webdav目录 Samba目录下存在的备份数量及其大小
- 自动执行计划
当计划检测到 触发条件 即 到达定时时间 或 文件夹内容存在修改 将自动执行备份操作
备份文件将按照规定格式及计划指定的目录进行保存
- 为避免占用过多系统资源 限制同时最多存在 十个定时任务
如果确有需求 修改如下位置代码后自行编译运行即可
//utils\runner.py line 23
executors = {
'default': ThreadPoolExecutor(10)
}
- 如果你想自动备份的文件夹是 需要编译的工程 比如 KEIL工程等
不建议使用监控任务 的触发方式 如果确有需求 修改如下位置代码后自行编译运行即可 请确保定时器时间大于或等于编译时间
//utils\monitor.py line 38
self.timer = threading.Timer(3, self.check_snap_shot)
-
监控触发方式 将监控 指定文件夹下的所有文件 包括其子文件夹及子文件夹下所有文件
请避免同时需要监控的文件过多占用大量系统资源 -
远程同步备份不受限制 当计划存在限制条件时 远程的备份不会自动同步进行限制即不会限制其数量/大小