数据自动备份管理系统2.0

数据自动备份管理系统2.0

八月不落东方叶
2023-08-16 / 0 评论 / 77 阅读 / 正在检测是否收录...

主窗口

声明:

开源协议采用:Apache License2.0
可商用,修改,分发,但必须注明作者来源和修改内容以及协议,侵权必究!

窗体试行版,1.0版本已停止更新,如若发生错误或异常,可发信至QQ邮箱2676796446@qq.com或者根据主窗口bug反馈按钮跳转的网站反馈问题

准大学生的第一个可视化软件,刚刚入门写的屎山,望各位大佬勿喷

该版本以及后续版本都将免费开源,但请保留出处,给我在源码中留个名儿就行,非常感谢!

主要功能

通过主程序窗体简单方便的管理该备份系统,可自定义间隔时间与各个任务文件的限制数量,在省心省力的同时保护数据安全

注意:

源路径与目标路径直接复制文件夹路径即可,尚不支持备份单一文件,只可备份文件夹,后续会跟进

切记!!!切记!!!切记!!!千万不可以把目标路径包含到源路径之下,否则备份文件大小会随着自动备份的次数增加而翻倍增长!!!硬盘爆红概不负责!

关于数据库

本数据自动备份控制系统属于轻量级系统,因此采用sqlite数据库存储备份任务数据

初始数据表结构如下:
表1(task)
_____________________________________________________________________________________________
|id   |    name    |   old_path    |    new_path    |   retain_num   |        status        |
---------------------------------------------------------------------------------------------
|...  |   ......   |    ......     |     ......     |     ......     |        ......        |
---------------------------------------------------------------------------------------------


id:用户id(系统自动分配),用于查找和定位

name:用户名(任务名),用于查找和定位

old_path:备份源数据的原始路径,需要填写绝对路径

new_path:数据备份后存入一个压缩包内,此处填写该压缩包的存放位置,同样为绝对路径

retain_num:备份保留数量,为防止备份数据过多造成大量数据冗余,该参量限定了备份目
标路径下该任务备份压缩包的保留数量,超出该数量,则存入新备份压缩包后自动删除同任务备份压缩包中相对最旧的备份压缩包

status:任务启动状态,若为'┗|`O′|┛ 嗷~~'则该任务已启动自动备份功能,若为'-------------'则该任务已关闭自动备份功能



表1(backup)
_____________________________________________________________________________________________
|            id             |             name             |           bkplastnum            |
---------------------------------------------------------------------------------------------
|          ......           |            ......            |             ......              |
---------------------------------------------------------------------------------------------


id:用户id(系统自动分配),用于查找和定位

name:用户名(任务名),用于查找和定位

bkplastnum: 各个任务执行备份的次数,作为各任务备份包的编号

测试及特性

自动检测重要文件是否缺失,并在主页面提示,若缺失可查看缺失内容

经过实测,28GB的文件夹跨盘备份需要11min,同盘备份需要4min,具体速度主要由硬盘读写速度决定

支持所有格式的文件,不存在不兼容问题,因为此备份程序,是将数据的二进制存储码直接塞进压缩包,不存在编码和解码,自然不存在数据类型导致的备份失败情况

经强化试验测试,程序稳定不易崩溃(除非发生我未想到的用户操作失误),死循环不停备份数据,不间断备份,程序依旧稳定。但是同时开启的自动备份任务数请根据电脑配置酌情控制,线程过多易造成电脑负载过大。

由于采用多线程开发,主程序和自动备份程序为不同线程,主线程控制多个子线程,子线程间不会互相通信干扰,因此多任务同时处理的同时又可以保证稳定性

文件结构

v Data-Backup-CTRL_2.0 Beta
  v lib
    > __pycache__
    v data
        data.db
    v functions
        > __pycache__
        __init__.py
        管理员sqlite数据库操作【可删】.py
        autobk.py
        exec.py
        run.py
        sql.py
    v photo
        >bg
        >temp
        >widget
    v views
        > __pycache__
        __init__.py
        backup.py
        change.py
        changeonce.py
        changestatus.py
        creative.py
        drop.py
        mian.py
        select.py
    __init__.py
  config.ini
  data.db
  Data-Backup-CTRL 2.0.py
  README.md
  setup.py
  版权声明.license
开源文件链接

开源文件链接(皓月互联云存储支持)

捐赠

感谢大佬投喂!!!!!!!

15

评论 (0)

取消