Code Monkey home page Code Monkey logo

davbackup's Introduction

Latest Stable Version License Total Downloads

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-pocket
  • DropBox working through service dropdav
  • Mail Disk temporary does not work
  • OneDrive temporary does not work

Installation

  1. Install composer

  2. Follow in the project folder:

composer require dmamontov/davbackup ~1.0.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('[email protected]', 'test');
$ya->db('user', 'password', 'db');
$ya->folder('/var/www/public_html/');
$ya->backup();

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);
    }
}

davbackup's People

Contributors

dmamontov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.