angryjack / backup-engine
A PHP library for automatic backups
v0.1
2018-12-26 12:38 UTC
Requires
- php: >=5.6
- ext-zip: *
- nixsolutions/yandex-php-library: ^3.0
This package is auto-updated.
Last update: 2025-03-27 02:58:33 UTC
README
Система для создания автоматических бекапов файлов с дальнейшей выгрузкой их на Яндекс Диск
Установка
Через 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
- Создать новое приложение
- При регистрации или редактировании приложения, нажмите ссылку Подставить URL для разработки в поле Платформы → Веб-сервисы → Callback URI.
- Перейдите по ссылке следующего вида:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
- На открывшейся странице нажмите кнопку Подтвердить, чтобы разрешить доступ к аккаунту. Разрешать доступ не потребуется, если для данного приложения уже был выдан токен, и срок его жизни еще не истек.
Подробная инструкция по созданию токена доступка по ссылке: OAuth в Яндексе