UniFi Protect Backup 项目教程
1. 项目的目录结构及介绍
UniFi Protect Backup 项目的目录结构如下:
unifi-protect-backup/
├── .github/
│ └── workflows/
│ └── main.yml
├── bin/
│ └── unifi-protect-backup
├── config/
│ └── config.yml.example
├── src/
│ ├── backup.py
│ ├── cli.py
│ ├── config.py
│ ├── downloader.py
│ ├── __init__.py
│ ├── protect.py
│ └── utils.py
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
目录结构介绍
- .github/workflows/: 包含 GitHub Actions 的工作流配置文件。
- bin/: 包含可执行文件。
- config/: 包含配置文件的示例。
- src/: 包含项目的源代码文件。
- backup.py: 备份逻辑的主要实现。
- cli.py: 命令行接口的实现。
- config.py: 配置文件的读取和处理。
- downloader.py: 下载逻辑的实现。
- protect.py: 与 UniFi Protect 交互的逻辑。
- utils.py: 工具函数。
- .gitignore: Git 忽略文件列表。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- requirements.txt: 项目依赖列表。
- setup.py: 项目安装脚本。
2. 项目的启动文件介绍
项目的启动文件是 bin/unifi-protect-backup
。这是一个可执行脚本,用于启动 UniFi Protect Backup 项目。
启动文件内容
#!/usr/bin/env python3
from src.cli import main
if __name__ == "__main__":
main()
启动文件介绍
- #!/usr/bin/env python3: 指定使用 Python 3 解释器。
- from src.cli import main: 从
src/cli.py
文件中导入main
函数。 - if name == "main":: 判断是否为主程序入口,如果是则执行
main()
函数。
3. 项目的配置文件介绍
项目的配置文件示例位于 config/config.yml.example
。这个文件包含了项目的配置选项。
配置文件内容
# UniFi Protect Backup Configuration Example
protect:
host: "192.168.1.1"
username: "admin"
password: "password"
verify_ssl: false
backup:
path: "/path/to/backup"
retention: 7
配置文件介绍
- protect: 配置 UniFi Protect 的连接信息。
- host: UniFi Protect 服务器的 IP 地址或域名。
- username: 登录用户名。
- password: 登录密码。
- verify_ssl: 是否验证 SSL 证书,通常设置为
false
。
- backup: 配置备份选项。
- path: 备份文件存储路径。
- retention: 备份文件的保留天数。
通过以上配置文件,用户可以自定义 UniFi Protect 的连接信息和备份文件的存储路径及保留策略。