PHPackages                             angryjack/backup-engine - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. angryjack/backup-engine

ActiveLibrary[File &amp; Storage](/categories/file-storage)

angryjack/backup-engine
=======================

A PHP library for automatic backups

v0.1(7y ago)224MITPHPPHP &gt;=5.6

Since Dec 26Pushed 7y agoCompare

[ Source](https://github.com/angryjack/backup-engine)[ Packagist](https://packagist.org/packages/angryjack/backup-engine)[ Docs](https://github.com/angryjack/backup-engine)[ RSS](/packages/angryjack-backup-engine/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

backup-engine
=============

[](#backup-engine)

Система для создания автоматических бекапов файлов с дальнейшей выгрузкой их на Яндекс Диск

Установка
---------

[](#установка)

Через Composer

```
$ composer require angryjack/backup-engine
```

Использование
-------------

[](#использование)

##### Инициализация:

[](#инициализация)

```
use Angryjack\BackupEngine\Backup;

// подключаем автозагрузчик
require __DIR__ . '/vendor/autoload.php';

// рабочая дирректория с файлами которые требуется сохранять
$workPath = '/home/user/files';

// папка бекапов на яндекс диске
$backupPath = '/backups';

// токен яндекс диска
$oauth = '';

$backup = new Backup($workPath, $backupPath, $oauth);
```

##### Изменение директорий:

[](#изменение-директорий)

```
// устанавливаем(изменяем) рабочую директорию
$backup->setWorkPath('/home/user/files');

// устанавливаем(изменяем) директорию для резервного копирования
$backup->setBackupPath('/backups');
```

##### Резервное копирование файлов:

[](#резервное-копирование-файлов)

```
// метод files первым параметром принимает регулярное выражение
// указывается какие файлы необходимо копировать
$pattern = '/^_.*sql.gz\z/';

// Удалять файлы после заругзки на яндекс диск (По умолчанию false)
$deleteAfterBackup = false;

$backup->files($pattern, $deleteAfterBackup);
```

##### Резервное копирование папок:

[](#резервное-копирование-папок)

```
// метод folders первым параметром принимает регулярное выражение
// указывается какие папки необходимо копировать
$pattern = '/^[^\.]/';

// в отличие от метода files, метод folders создает архив zip архив копируемой папки
// Удалять созданный архив после заругзки на яндекс диск (По умолчанию true)
$deleteAfterBackup = true;

$backup->folders($pattern, $deleteAfterBackup);
```

Рекомендации по использованию
-----------------------------

[](#рекомендации-по-использованию)

Использовать последнюю версию php. Замеры показали, что создание архивов используя php7.2 выполняется **~6 раз быстрее** по сравнению с php5.6

Инструкция по созданию токена OAUTH
-----------------------------------

[](#инструкция-по-созданию-токена-oauth)

1. [Создать новое приложение](https://oauth.yandex.ru/client/new)
2. При регистрации или редактировании приложения, нажмите ссылку Подставить URL для разработки в поле **Платформы → Веб-сервисы → Callback URI.**
3. Перейдите по ссылке следующего вида:

```
https://oauth.yandex.ru/authorize?response_type=token&client_id=

```

4. На открывшейся странице нажмите кнопку Подтвердить, чтобы разрешить доступ к аккаунту. Разрешать доступ не потребуется, если для данного приложения уже был выдан токен, и срок его жизни еще не истек.

Подробная инструкция по созданию токена доступка по ссылке: [OAuth в Яндексе](https://tech.yandex.ru/oauth/doc/dg/concepts/about-docpage/)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2692d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ff5d918593dca7f12fcba9f612a7590d4615a63b00e9882df0dda4f4a4414246?d=identicon)[angryjack](/maintainers/angryjack)

---

Top Contributors

[![angryjack](https://avatars.githubusercontent.com/u/33295841?v=4)](https://github.com/angryjack "angryjack (7 commits)")

---

Tags

angryjackbackup on yandex diskbackup-engineupload files on yandex disk

### Embed Badge

![Health badge](/badges/angryjack-backup-engine/health.svg)

```
[![Health](https://phpackages.com/badges/angryjack-backup-engine/health.svg)](https://phpackages.com/packages/angryjack-backup-engine)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M123](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
