olafnorge / borgphp

borgbackup 的 PHP 命令包装器。

0.1.2 2021-03-21 12:21 UTC

This package is auto-updated.

Last update: 2024-09-21 21:14:35 UTC


README

Total Downloads Latest Stable Version License

执行任意 BorgBackup 命令的库

从 Borg 文档:什么是 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 许可证