Home
It was long past time for me to rebuild my backup script, last updated in 2012. (yes really!) So it's been TOTALLY re-written.

It's been live a month now and It's working well and AFAIK debugged, so I thought I'd share it with anyone that's interested in it. Currently running here on a total of 14 jobs: a mix of local backups, a local mirror, several LAN backups, and four internet (offsite) backups. (14TB)

- the design runs on a "backup server" - any mac anywhere - and can accept backups from other computers (or do local self-backups). These remote computers can be on your LAN, across town, or in another state

- changes / updates to the script are automatically downloaded from the backup server by all clients

- backups are logged into a database which can be reviewed for job history or most recent status

- failures (or even successes if you're so inclined) can be emailed if you set up a gmail account

- backups can be started manually and/or scheduled to run automatically, by the day, day of week, hour, and minute. Remote schedule adjustment is still somewhat beta

- jobs can back up folders or entire drives, including bootable drives, and one destination drive can contain as many backups as there is space available. different jobs can be directed to different backup drives, folders, or servers

- jobs can also clone drives directly to other drives, making a bootable clone

- compression is available for efficient backup over the internet

- NO support for incremental backup - this is not time machine and there is no version control - it's a snapshot only

- jobs can include exclusion lists, to exclude specific files, specific folders, or name patterns that exist anywhere in the backup space


If anyone's interested, I'll post the script. It's written in Bash, and uses Rsync. It's OCD-level commented and OCD-level self-error-checking, but basic understanding of command line is required to install and set up. I figure at the very least Tacit should be interested in free offsite backup software wink

Code:
Workhorse:~/backup root # ./backup.command -h   
2018/07/05 10:36:32 - BACKUP version 2018.06.29.A

backup.command version 2018.06.29.A

supported switches:

-b | -backup               : execute a live or dryrun backup
-D | -dumphist {pattern}   : dump history database, filtering by optional pattern (run on update server only)
-d | -debug                : include debugging information
-h | -help                 : display help
-H | -history              : log history (used internally to log jobs to update server)
-i | -install              : install daemon to run backup job (automatically if scheduled)
-j | -jobfile {path}       : specify path of backup jobfile to use
-J | -jobstatus            : display last successful log entry for each job
-l | -live                 : live run (dryrun is default from CLI, scheduled are always live)
-m | -mailtest             : test gmail mailer
-n | -normalize            : normalize backup job file
-r | -remove               : stop, unload, and remove backup daemon
-s | -schedule             : when installing a job, schedule it to run automatically per the run_ parameters in the job file
-u | -update               : update backup script and support files from server (specify first)
-v | -version              : display version numbers


Workhorse:~/backup root # cat ./backup.command | wc -l
    2864

Workhorse:~/backup root # loc backup.command 
1455 lines of code
This sounds like a great tool....go ahead and post it with all the obvious disclaimers and let's look it over.

cool
I've got a couple of scratch drives I can test it on. Post away!
(post truncated)
hmmm apparently this exceeds some bbs limit, I will look for another way to post it.
© FineTunedMac