Giter Club home page Giter Club logo

backup-schedule's Introduction

备份计划

项目介绍

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

项目更新

更新内容(v1.0.1):

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

安装教程

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

使用说明

  1.   主界面操作
    运行 main.exe 进入主界面 数据以表格形式进行展示
    右键打开功能菜单可以实现计划的增删改查及远程服务设置 右上角下拉菜单可以实现场景切换
    ocMAa9.png
  2.   管理计划
    功能菜单中选择新建进入新建计划界面 根据需要填写相关参数
    在主界面中选中某一行 此时可以通过右键功能菜单 实现计划配置的修改及删除
    在主界面中鼠标双击某一行可直接进入对于计划配置修改界面
    ocMtRP.png
  3.   远程同步
    功能菜单中选择 远程 进入远程服务设置界面 勾选对应选择框并填写相关参数后确认即可

    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 目录 并根据计划名称创建子文件夹
    子文件夹结构与本地备份保存目录结构一致
    ocM4Z4.png
  4.   计划信息提示
    主界面表格对应位置悬停可查看相应信息
    状态 -> 下次执行时间/上次修改时间
    源目录/保存目录 -> 完整目录路径
    备份数/备份大小 -> 本地 Webdav目录 Samba目录下存在的备份数量及其大小
    ocMyin.png
  5.   自动执行计划
    当计划检测到 触发条件到达定时时间文件夹内容存在修改 将自动执行备份操作
    备份文件将按照规定格式及计划指定的目录进行保存
    5q2Raj.jpg

注意事项

  1.   为避免占用过多系统资源 限制同时最多存在 十个定时任务
     如果确有需求 修改如下位置代码后自行编译运行即可
//utils\runner.py line 23
  executors = {
      'default': ThreadPoolExecutor(10)
  }
  1.   如果你想自动备份的文件夹是 需要编译的工程 比如 KEIL工程等
     不建议使用监控任务 的触发方式  如果确有需求 修改如下位置代码后自行编译运行即可 请确保定时器时间大于或等于编译时间
//utils\monitor.py line 38
self.timer = threading.Timer(3, self.check_snap_shot)
  1.   监控触发方式 将监控 指定文件夹下的所有文件 包括其子文件夹及子文件夹下所有文件
     请避免同时需要监控的文件过多占用大量系统资源

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

backup-schedule's People

Contributors

hellager 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.