# backup Backup helper for git, tarsnap, plakar and rclone. One command commits, archives or syncs a named set of directories. Needs `janet` plus whichever backends you use. ## Config Targets live in `~/.config/backup/config.janet`. One Janet table. Paths may use `~/` and `$VAR`. See `config.example.janet`. Omit rclone `:targets` to reuse the plakar sources. Set `{}` to disable rclone. Plakar stores and sources stay in plakar's own files. ## Usage ```sh backup -l # list targets backup git:notes # commit, no push backup -p git:notes # commit, pull, push backup tarsnap:notes # timestamped archive backup plakar:hoo # back up every source to hoo backup 'plakar:hoo:src,notes' # back up two sources backup rclone:notes # copy to backup:notes backup git -e notes # all git targets except notes ``` One target per run. No target lists and exits. ## Options - `-p`, `--push`: commit, pull, push git targets - `-f`, `--fetch`: pull git targets first - `-q`, `--quiet`: hide child output - `-l`, `--list`: list targets - `-e`, `--exclude`: names to skip - `-h`, `--help`: usage Failing targets get reported. The rest still run. Exit code is nonzero if anything failed.