Download the PHP package dizda/cloud-backup-bundle without Composer
On this page you can find all versions of the php package dizda/cloud-backup-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package cloud-backup-bundle
CloudBackupBundle
This bundle helps you to backup your databases and upload it to the cloud with only one Symfony2 command.
You can :
- Dump one database
- Dump all databases
- Different types of databases can be dumped each time
- Upload to several Cloud services
Databases supported :
- MongoDB
- MySQL
- PostgreSQL (excluding all_databases option)
Cloud services supported :
- Dropbox (Dropbox SDK)
- CloudApp (thanks to CloudAPP-API-PHP-wrapper)
- Amazon S3 (through KnpGaufretteBundle or OneupFlysystemBundle)
- Google Drive (thanks to HappyrGoogleSiteAuthenticatorBundle)
- Rackspace (through OneupFlysystemBundle)
But also :
- Local (through KnpGaufretteBundle or OneupFlysystemBundle)
- FTP (through KnpGaufretteBundle or OneupFlysystemBundle)
- sFTP (through KnpGaufretteBundle or OneupFlysystemBundle)
- GridFS (through KnpGaufretteBundle or OneupFlysystemBundle)
- MogileFS (through KnpGaufretteBundle)
- WebDAV (through OneupFlysystemBundle)
are supported :-)
Compressors supported :
- Tar - fast and medium effective, don't support password
- Zip - fast and medium effective, support password
- 7zip - very slow and very effective, support password
Splitters supported:
- ZipSplit - split a zipfile into smaller zipfiles
Installation (>=Symfony 2.1)
Composer
Download CloudBackupBundle and its dependencies to the vendor directory. You can use Composer for the automated process:
Composer will install the bundle to vendor/dizda
directory.
Adding bundle to your application kernel
Configuration
Here is the default configuration for the bundle:
It is recommended to keep real values for logins and passwords in your parameters.yml file, e.g.:
Usage
The bundle adds one command to symfony console: app/console dizda:backup:start
which you execute periodically as a cron job.
For example the following cron command dumps your database every days at 6am on a server :
Info : To edit crontab for the user www-data (to prevent permissions error) :
or simply
In addition, using -F or --folder option the folders also will be added to the backup.
Obviously, if some problems occurs during the backup process, you can configure monolog to send you emails.
When working locally or on a staging server, you can configure the bundle to enable restoring. Set restore: true
and
the following command is available:
Note! Not all processors, clients and databases supports restoring. Backupped files are not restored.
Which archiver do I use?
tar
and zip
archivers are produce the same size of compressed file, but tar
compresses faster.
7z
archiver is very slow, but has double effectiveness.
tar
archiver do not support encryption, other archivers support.
Note Your system may not have the
zip
and7z
archivers installed. Buttar
is installed in common case.
Guide to choice:
- If you don't need password protection and you have enough disk space, the best choice is
tar
. - If you need password protection and you have enough disk space, the best choice is
zip
. - If you haven't enough disk space (or you will do backup often) and you backup only text data (e.g. database dumps), the best choice is
7z
.
Note Any archiver good compress text files (and better compress structured texts e.g. sql, css, html/xml). But binary files (images, audio, video) will not be well compressed. If you have small database dump and big binary data, the best choice will be
tar
orzip
.
Comparison of archivers
Uncompressed archive contents sql dump of 42.2M size. This table represents effectiveness of archivers. Third column contents compressed archive file and percent of compression (low is better). Fourth column contents compression time and its ratio (to first line) (low is better).
archiver | compression | archive size | execution time |
---|---|---|---|
tar | default (6) | 8.78M (20.8%) | 4.44s (1.00x) |
tar | best (9) | 8.45M (20.0%) | 9.89s (2.23x) |
zip | default (6) | 8.78M (20.8%) | 5.39s (1.21x) |
zip | best (9) | 8.45M (20.0%) | 11.03s (2.48x) |
7z | default (5) | 4.42M (10.5%) | 31.06s (7.00x) |
7z | best (9) | 4.24M (10.0%) | 38.88s (8.76x) |
Capifony integration
If you are using capifony for deployment you can grab the sample task for easier backups.
Add the following task in your deploy.rb file
This adds symfony:dizda:backup:start command to capifony. To launch it automatically on deploy you might use:
Report to Deadmanssnitch.com
To be sure your backup scripts are actually run you can report each successful backup to deadmanssnitch.com using DeadmanssnitchBundle.
End
This bundle was inspired from KachkaevDropboxBackupBundle.
Enjoy, PR are welcome !
All versions of cloud-backup-bundle with dependencies
symfony/framework-bundle Version ^2.3 || ^3.0
psr/log Version ^1.0.1