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