gvozdb / dumper
...
0.3.4
2022-02-08 05:17 UTC
Requires
- php: >=7.1.3
- arhitector/yandex: 2.0.1
- monolog/monolog: ^2.1
- swiftmailer/swiftmailer: ^6.2
- symfony/console: ~3.4|~4.0
- symfony/filesystem: ~3.4|~4.0
- symfony/yaml: ~3.4|~4.0
README
服务器备份库。
- 支持
MySQL
- 压缩为
Zip
- 上传到
Яндекс.Диск
上传内容
- 拥有
dumper.yaml
配置的用户 - 文件夹
/root/
和/etc/
- 服务器日志
安装
$ composer require gvozdb/dumper
使用
创建 cron.php 文件
use Gvozdb\Dumper; require __DIR__ . '/vendor/autoload.php'; try { $config = new Dumper\Config\Load(__DIR__ . '/config.yaml'); $backup = new Dumper\Backup($config); $backup->run(); } catch (Exception $e) { print_r($e->getMessage() . PHP_EOL); }
config.yaml
应用程序配置文件。
# main: prefix: "%Y%m%d-" # префикс для названия архивов clean_logs: true # очищать старые логи в директории логов path.log progress_bar: false # показывать прогресс-бар в терминале # Длительность хранения бекапов expires: short_step: 1 # шаг, кол-во дней short_max_days: 4 # максимальный срок хранения (дней) long_step: 30 # шаг, кол-во дней long_max_days: 120 # максимальный срок хранения (дней) # path: tmp: '/tmp/dumper/%Y%m%d/' # временная папка на сервере users: '/var/www/' # директория с юзерами, файлы которых нужно бекапить root: '/root/' # директория root etc: '/etc/' # директория etc log: '/var/log/' # директория серверных логов # compressor: class: 'zip' # zip или zip =) compress: 7 # 1 – быстрая компрессия; 9 – лучшая компрессия split: 209715200 # разбивать архив на файлы по N байт password: '' # пароль на архив # storages: # Upload to YandexDisk YandexDisk: token: 'AQAAAAABEJ2-AAVH0EIr79Yz4E5dpd-7nhV1W18' # api токен хранилища path: 'disk:/Dumper/ServerIP/%Y%m%d/' # папка в облаке, где хранить бекапы # logs: enabled: true # title: '' # title for logs notify: # Print to console Console: path: 'php://stdout' # #level: 'info' # #format: "[%datetime%] [%level_name%] > %message%\n" # #dateFormat: 'd.m.Y H:i:s' # # Write to file File: path: './log/%Y%m%d.log' # #level: 'info' # #format: "[%datetime%] [%level_name%] > %message%\n" # #dateFormat: 'd.m.Y H:i:s' # # Send to email Email: host: '' # port: 465 # encryption: 'ssl' # username: '' # password: '' # subject: '[%d.%m.%Y] Dumper Report' # from: '' # to: '' # #level: 'info' # #format: "[%datetime%] [%level_name%] > %message%\n" # dateFormat: 'H:i:s' # # Send to telegram chat Telegram: token: '' # chat: '' # #level: 'info' # #format: "[%datetime%] [%level_name%] > %message%\n" # dateFormat: 'H:i:s' #
放置在 cron.php 所在目录
dumper.yaml
用户配置文件。
enabled: true # включить compressor.password: '' # пароль на архив # database: type: 'mysql' port: 3306 host: 'localhost' name: 'dbname' user: 'dbuser' pass: 'dbpassword' # exclude: [ '/www/core/cache/*', ]
放置在用户根目录
致谢
许可
MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。