dmamontov / davbackup
Creating backup sites in the clouds through WebDav
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2022-01-18 01:00:34 UTC
README
PHP Backup to WebDav Server
This package can backup files and a database to a WebDav server.
It takes the path of a given local directory and creates a PHAR archive with the files of the directory.
The base class can also connect to a given database using PDO and generate a backup file with SQL statements to recreate the database. The generated SQL file is also added to the PHAR archive.
The PHAR archive is compressed and transferred to a given remote server using the WebDAV protocol.
The package comes with several sub-classes specialized in configuring the connection to different WebDAV servers.
Requirements
- PHP version 5.3.6 or higher
Currently it supports clouds
Yandex Disk
CloudMe
GoogleDrive
working through service dav-pocketDropBox
working through service dropdavtemporary does not workMail Disk
temporary does not workOneDrive
Installation
-
Install composer
-
Follow in the project folder:
composer require dmamontov/davbackup ~1.1.0
In config composer.json
your project will be added to the library dmamontov/davbackup
, who settled in the folder vendor/
. In the absence of a config file or folder with vendors they will be created.
If before your project is not used composer
, connect the startup file vendors. To do this, enter the code in the project:
require 'path/to/vendor/autoload.php';
Example of work
require 'DavBackup.php'; $ya = new YandexBackup('test@yandex.ru', 'test'); $ya->setConnection('user', 'password', 'db') ->setPath('/var/www/public_html') ->setType(YandexBackup::ZIP) ->setRemoveFile(false) ->execute();
Example of adding support for WebDav cloud
class MyDavBackup extends DavBackup { const URL = 'https://dav.my.ru/'; public function __construct($login, $password) { parent::__construct(self::URL, (string) $login, (string) $password); } }