backup.lite
This project allows a user to backup and/or sync their data between multiple locations including local directories, network shares, and remote nodes using SSH with optional email contact upon success and/or failure of job. Not unlike our other bash-script-based software, this project relies on our clAPI framework for various functionality, so be sure this dependency is satisfied before using. It's also worth mentioning that the placement of the OPTION's must follow their respective ACTION (or parent script) which can be determined via the --help output. It might also help to read over the basics of clAPI to get a better understanding when running software from the command line.
Contents
Terms
This projects' codebase is licensed under the AGPLv3 unless a valid CPL has been purchased. More information about both of these licenses can be found under the "Our Licenses" link of our homepage.
ACTION's
Among our standard 'help', 'version', and 'update' ACTIONs, this project also contains several others - 'backup', 'sync', and 'restore'. It's probably pretty obvious what task each of those handles, so we'll go ahead and move into the OPTIONs section below...
Job Wizard
This OPTION belongs to the parent script of the project since parameters must accompany their respective "module" in order to be processed correctly. Useful for initially creating backup jobs, this parameter initiates a wizard that will walk you through all of the necessary steps. Starting this process is as simple as executing backup.lite --wizard at the command line.
Backup OPTION's
- --source
- --target
- --count
- --compress
- --include
- --type
- --verify
- --params
Sync OPTION's
- --port
- --source
- --target
- --dir
- --tunnelUser
- --tunnelPass
- --params
Restore OPTION's
- --source
- --target
- --archive
- --archives
- --collapse
- --data
- --include
- --overwrite
- --params
Examples
Installation is a simple 2-step process...
$ cd /path/to/uncompressed/package $ ./install
Backing up data only (no sync'ing)...
$ sudo ./backup.lite --noprompts --name=test backup --type=full --source='/tmp/temp' --target='/tmp/backup' --compression=gzip --include='/etc/backup/test.inc' Beginning the "test" backup job @ Tue Mar 27 10:37:44 EDT 2012 Checking system environment... (i) Directories... Configs: [checking] [exists] [writable] [success] [done] Temp: [checking] [exists] [writable] [success] [done] Mounts: [checking] [exists] [writable] [success] [done] (i) Variables... --name: [done] ACTION: [done] Beginning the 'backup' module... (i) Processing the source and target... Source: [symlinking] [success] [done] Target: [local] [checking] [exists] [writable] [success] [symlinking] [success] [done] Storage: [checking] [exists] [done] (i) Checking variables: [type] [include] [done] (i) Processing a(n) "full" backup -----------------------------[PROGRESS]-- ./ ./original/ ./original/flash.img ./a/ ./a/b/ ./a/b/test.txt ./a/b/test.sh ./flash.tar.gz Total bytes written: 656384000 (626MiB, 31MiB/s) -------------------------------------------------------------------------------- (i) Creating a catalog of backed up data: [done] (i) Cycling the backups... Archive: [deleting] [success] [done] Catalog: [absent] [done] Job Log: [absent] [done] (i) Check archive count: [within limits] [done] (i) Compressing the archive: [gzip] --------------------------------------------------------------------[PROGRESS]-- 626MB 0:01:05 [9.56MB/s] [==================================>] 100% -------------------------------------------------------------------------------- [deleting] [success] [done] Calling exit routines for the modules... (i) backup.lite script... Source: [checking] [unmounted] [deleting] [success] [done] Target: [checking] [unmounted] [deleting] [success] [done] Cleanup: [deleting] [success] [done] The job has completed successfully @ Tue Mar 27 10:39:16 EDT 2012
Developers
Dave Henderson [dhenderson (at) cliquesoft (dot) org]