RubyGems.org

syc-backup

0.0.7

Backup utility for database, folders and files

Backs up a MySQL database, folders and files to a default folder (~/backup) or to a specified folder. If the –cron switch is provided the specified database and files are not backed up rather a cron job of the provided command is added to crontab.

Install

The application can be installed with

$ gem install syc-backup

Usage

Backup a database to the default folder _~/backup_

$ sycbackup -d database -uuser -ppass

Backup a MySQL database, a directory and files to the default folder

$ sycbackup -d database -uuser -ppass -f directory,file1,file2

Specify a backup folder

$ sycbackup backup/folder -d database -uuser -ppass -f directory,file1,file2

Override files in the backup folder if they exist

$ sycbackup backup/folder --override -f directory,file1,file2

Don’t compress the backup

$ sycbackup --no-compress -f directory,file1,file2

Create a cron job that is scheduled every day at 2:30

$ sycbackup -d database -uuser -ppass -f directory,file1 --cron 30,2,*,*,*

If the user or password contains characters as ‘(’ you have to escape them. A password like 123(56 has to be provided with pass"123(56".

Usage of –override and –no-compress

Whether the backup directory and the backup files are time stamped depends how –override and –no-compress is set. The results are shown in the table below.

--override      --no-compress     backup directory      backup file(s)
     0                0            w/o timestamp         w/ timestamp
     1                0            w/o timestamp         w/ timestamp
     0                1            w/  timestamp         uncompressed
     1                1            w/o timestamp         uncompressed

Supported Platform

syc-backup has been tested with 1.9.3

Notes

The application backs up the MySQL database with mysqldump. The dumpfile has the form yyyymmdd-HHMMSS_databasename.sql. After the files are backed up the dumpfile will be deleted.

If the –no-compress is provided the files are copied to the backup folder. Otherwise they are compressed with _tar cfz YYYYmmdd-HHMMSS_syc-backup.tar.gz_.

If the –override switch is not provided the backup directory will be added a timestamp. So if you create a cron job you should every now and then delete obsolete backup folders.

The source contains lib/backup/file_backup.rb which is not used in the application.

Tests

The tests create folders and files and will be deleted after the tests finish. MySQLBackup needs to run a MySQL database with a database test and a user user with the password pass.

The test files live in the test folder and begin with test_.

There is a rake file available which can be used to run all tests with

$ rake test
installgem install syc-backup
Authors

Pierre Sugar

1,907 total downloads 522 for this version
Owners

Be6f00c0eca5a388684b15edff85880b

Gemfile
gem 'syc-backup', '~> 0.0.7'
Versions
  1. 0.0.7 February 7, 2013 (918 KB)
  2. 0.0.6 February 4, 2013 (832 KB)
  3. 0.0.5 February 2, 2013 (748 KB)
  4. 0.0.4 February 2, 2013 (662 KB)