olafnorge / borgphp
borgbackup 的 PHP 命令包装器。
0.1.2
2021-03-21 12:21 UTC
Requires
- php: >=7.2
- ext-json: *
- ext-mbstring: *
- ext-pcntl: *
- symfony/process: ^4.0|^5.0
Suggests
- borg: You need to have borg installed and available in your PATH. Please follow the instructions of your OS package manager.
This package is auto-updated.
Last update: 2024-09-21 21:14:35 UTC
README
执行任意 BorgBackup 命令的库
BorgBackup(简称:Borg)是一个去重备份程序。可选地,它支持压缩和认证加密。
Borg 的主要目标是提供一种高效且安全的数据备份方式。所使用的去重技术使得 Borg 适合进行日常备份,因为只有更改被存储。认证加密技术使其适合备份到不完全信任的目标。
此库利用 borg 二进制文件并通过底层的 Symfony Process 组件 执行任意命令。库能够执行二进制文件至关重要,因此它需要在之前安装。库本身在执行之前不会检查命令是否可用,并且将在 Symfony Process 组件引发的 ProcessFailedException 中失败。
BorgBackup 的安装(二进制文件本身)
请参考 Borg 的官方文档以了解最适合您操作系统的安装方法。
库的安装
composer require olafnorge/borgphp
使用方法
库直接将所有命令参数和选项传递到底层的 BorgBackup 二进制文件。它负责参数和选项的正确位置,并对它们是否与 BorgBackup 预期格式一致进行一些验证。您需要做的就是将参数和选项作为数组传递给您想要执行的命令。
<?php // list the contents of a repository or an archive use olafnorge\borgphp\ListCommand; $listCommand = new ListCommand(['<REPOSITORY_OR_ARCHIVE>']); $contents = $listCommand->mustRun()->getOutput(); var_dump($contents);
实现状态
目前仅实现了某些命令,因为我还没有使用这些缺失命令的场景。下面是迄今为止完成的项目列表。如前所述,参数和选项直接传递给 Borg 二进制文件。为了能够使用符合您需求的命令,我在旁边引用了每个命令的官方文档。
欢迎并感谢贡献。除非我自身有需求,否则我只会添加额外的命令,但如果您有需求,PR 将非常受欢迎。
许可证
BorgPHP 是开源软件,采用 MIT 许可证。