Download the PHP package jamielsharief/chronos without Composer
On this page you can find all versions of the php package jamielsharief/chronos. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package chronos
Chronos Database Backup & Restore
Chronos Database Backup and Restore provides easy and painless backups of your MySQL, Postgres and Sqlite databases.
Each process, wether dumping, compression or encryption is handled by the specific binary application and then the relevant extension is appened to the output filename. For example, chronos
does not compress using gpg
nor encrypt with 7zip
. This means the trail on how backups were created can easily be followed, and thus can be unpacked without chronos
, if needed.
Requirements
mysqldump
if you are going to backup MySQL databasespgdump
if you are going to backup Postgres databasesgpg
,openssl
if you want to encrypt/decrpyt databzip2
,gzip
,7zip
orzip
executable binaries if you want to compress backups
Installation
To install this package
Create a folder where you will store your backups, and set the permissions so you can write
to it, assuming you are a member of the www-data
group, for example
Usage
First you need to initialize your installation which creates chronos.json
in your project folder with the database settings.
Are you installing on a server with multiple applications? if so it could be be a good idea to setup a folder within your backup folder for each application , e.g.
/backups/crm
,/backups/helpdesk
If you provided a default database during setup, then you can simply run the backup command and this will backup up the database(s) listed in chronos.json
, if there are no databases configured then chronos
will show you a list of databases
asking you yo choose one.
If you didnt or want to backup different databases then you can pass the database names as arguments.
You can also backup multiple databases at the same time
To use compression, simply supply the compression type 7zip
, bzip2
, gzip
, unzip
or zip
.
To encrypt your backups using AES
you can use gpg
or ssl
which uses openssl
.
To list backups
To restore a backup
If you want to restore the backup to a different database than from what it was created
When restoring backups, if the file is encrypted it will prompt you for a password.
Compression
Backups can be compressed using using bzip2
,gzip
,7zip
and zip
.
Depending upon your linux distribution you might need to install the relevant binary. For brevity I have put all compression packages in one line, however you can install just the one or ones that you want.
Ubuntu/Debian
For Redhat/CentOS/Fedora
7zip packages are in the EPEL repository and needs to be enabled install
If a dump is compressed, the filename will be appened with bz2
,gz
,7z
or zip
.
Compression Comparison
I carried out a simple test using a single table with 1,000
and 10,000
records with random data.
This is how I generated the data
These are the results that I got
Encryption
Encryption is carried out after compression to be effective, however it some cases it could become less secure due to side channel attacks.
GPG (recommended)
NASA recommend using GPG for file encryption, and this is easily installed on linux operating systems (if not already)
For Ubuntu/Debian
For Redhat/CentOS/Fedora
OpenSSL (deprecated)
Use GPG instead
To use this encryption engine, you need openssl
to be installed, this is already on linux systems, but on the Mac libressl
is included but that does not support does not support pbkdf2
or iter
. Both these features improve security and should be used.
Encrypting data is touchy with openssl
because the settings used to encrypt needs to same when decrypting, therefore you can't be encrypting data on different installations in different ways. Major changes to openssl could affect backup/restore operations.
On the MacOS you can install openssl
simply like this
If a dump is encrypted with openssl
it will have the enc
extension added.
All versions of chronos with dependencies
originphp/console Version ^3.15
originphp/model Version ^3.15
originphp/defer Version ^3.0
originphp/value-store Version ^1.0
originphp/process Version ^3.17