goutils/cmd/data_sync/README

32 lines
1.6 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. 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.