33 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| data_sync
 | |
| 
 | |
| This is a tool I wrote primarily to sync my home directory to a backup
 | |
| drive plugged into my laptop. This system is provisioned by Ansible,
 | |
| and the goal is to be able to just copy my home directory back in the
 | |
| event of a failure without having lost a great deal of work or to wait
 | |
| for ansible to finish installing the right backup software. Specifically,
 | |
| I use a Framework laptop with the 1TB storage module, encrypted with
 | |
| LUKS, and run this twice daily (timed to correspond with my commute,
 | |
| though that's not really necessary). It started off as a shell script,
 | |
| then I decided to just write it as a program.
 | |
| 
 | |
| Usage: data_sync [-d path] [-l level] [-m path] [-nqsv]
 | |
|                                   [-t path]
 | |
|         -d path         path to sync source directory
 | |
|                         (default "~")
 | |
|         -l level        log level to output (default "INFO"). Valid log
 | |
|                         levels are DEBUG, INFO, NOTICE, WARNING, ERR,
 | |
|                         CRIT, ALERT, EMERG. The default is INFO.
 | |
|         -m path         path to sync mount directory
 | |
|                         (default "/media/$USER/$(hostname -s)_data")
 | |
|         -n              dry-run mode: only check paths and print files to
 | |
|                         exclude
 | |
|         -q              suppress console output
 | |
|         -s              suppress syslog output
 | |
|         -t path         path to sync target directory
 | |
|                         (default "/media/$USER/$(hostname -s)_data/$USER")
 | |
|         -v              verbose rsync output
 | |
| 
 | |
| data_sync rsyncs the tree at the sync source directory (-d) to the sync target
 | |
| directory (-t); it checks the mount directory (-m) exists; the sync target
 | |
| target directory must exist on the mount directory.
 |