2017 © Pedro Peláez
 

symfony-bundle backup-bundle

Symfony2 Bundle that wraps backup commands

image

zenstruck/backup-bundle

Symfony2 Bundle that wraps backup commands

  • Monday, August 14, 2017
  • by kbond
  • Repository
  • 1 Watchers
  • 7 Stars
  • 2,481 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 11 Versions
  • 2 % Grown

The README.md

ZenstruckBackupBundle

Build Status Scrutinizer Code Quality Code Coverage SensioLabs Insight StyleCI Latest Stable Version License, (*1)

This bundle allows creating and managing backups in a Symfony application. It is a wrapper for zenstruck/backup., (*2)

Installation

Require this bundle with composer:, (*3)

composer require zenstruck/backup-bundle

Then enable it in your kernel:, (*4)

// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        //...
        new Zenstruck\BackupBundle\ZenstruckBackupBundle(),
        //...
    );
}

Configuration

In your config.yml add at least one source, namer, processor, and destination as well as a profile., (*5)

Example:, (*6)

zenstruck_backup:
    sources:
        database:
            mysqldump:
                database: my_database
        files:
            rsync:
                source: "%kernel.root_dir%/../web/files"
                additional_options:
                    - --exclude=_cache/
    namers:
        daily:
            timestamp:
                format: d
                prefix: mysite-
        snapshot:
            timestamp:
                prefix: mysite-
    processors:
        zip: { zip: ~ }
    destinations:
        s3:
            s3cmd:
                bucket: "s3://foobar/backups"
    profiles:
        daily:
            scratch_dir: "%kernel.root_dir%/cache/backup"
            sources: [database, files]
            namer: daily
            processor: zip
            destinations: [s3]

Commands

Run Backup Command

Usage:
 zenstruck:backup:run [--clear] [<profile>]

Arguments:
 profile  The backup profile to run (leave blank for listing)

Options:
 --clear  Set this flag to clear scratch directory before backup

NOTES:, (*7)

  1. Add -vv to see the log.
  2. For long running backups, it may be required to increase the memory_limit in your app/console/bin/console.
  3. Running the command without a profile will list available profiles.

Examples (with the above configuration):, (*8)

  • Create a backup at: s3://foobar/backups/mysite-{day-of-month}, (*9)

    app/console zenstruck:backup:run daily
  • Create a backup at: s3://foobar/backups/mysite-{YYYYMMDDHHMMSS}, (*10)

    app/console zenstruck:backup:run snapshot

List Existing Backups

Usage:
  zenstruck:backup:list [<profile>]

Arguments:
  profile  The backup profile to list backups for (leave blank for listing)

NOTE: Running the command without a profile will list available profiles., (*11)

Full Default Config

zenstruck_backup:
    namers:

        # Prototype
        name:
            simple:
                name:                 backup
            timestamp:
                format:               YmdHis
                prefix:               ''
                timezone:             ~
    processors:

        # Prototype
        name:
            zip:
                options:              '-r'
                timeout:              300
            gzip:
                options:              '-czvf'
                timeout:              300
    sources:

        # Prototype
        name:
            mysqldump:
                database:             ~ # Required
                host:                 ~
                user:                 root
                password:             null
                ssh_host:             null
                ssh_user:             null
                ssh_port:             22
                timeout:              300
            rsync:
                source:               ~ # Required
                timeout:              300
                additional_options:   []
                default_options:

                    # Defaults:
                    - -acrv
                    - --force
                    - --delete
                    - --progress
                    - --delete-excluded
    destinations:

        # Prototype
        name:
            stream:
                directory:            ~ # Required
            flysystem:
                filesystem_service:   ~ # Required
            s3cmd:
                bucket:               ~ # Required, Example: s3://foobar/backups
                timeout:              300
    profiles:

        # Prototype
        name:
            scratch_dir:          '%kernel.cache_dir%/backup'
            sources:              [] # Required, can be a string
            namer:                ~  # Required
            processor:            ~  # Required
            destinations:         [] # Required, can be a string

The Versions

17/06 2015
04/06 2015
29/05 2015
22/04 2014