1
0
Fork
You've already forked backdown
0
A simple file backup tool
  • D 72.1%
  • Nix 26.5%
  • Just 1.4%
2026年06月09日 20:57:01 +02:00
.github chore: initial commit 2026年06月08日 15:07:03 +02:00
source fix: ignore broken symlinks etc. when $BACKDOWN_IGNORENONEXISTENT=true 2026年06月09日 20:56:42 +02:00
.envrc chore: initial commit 2026年06月08日 15:07:03 +02:00
.gitignore chore: initial commit 2026年06月08日 15:07:03 +02:00
dub-lock.json fix: make the nix package actually build 2026年06月08日 16:41:40 +02:00
dub.sdl chore: add colorize dependency 2026年06月08日 16:02:53 +02:00
dub.selections.json chore: commit dub.selections.json 2026年06月08日 16:03:58 +02:00
flake.lock chore: initial commit 2026年06月08日 15:07:03 +02:00
flake.nix chore(flake.nix): bump version 2026年06月09日 20:57:01 +02:00
justfile fix: make the nix package actually build 2026年06月08日 16:41:40 +02:00
LICENSE.md chore: initial commit 2026年06月08日 15:07:03 +02:00
README.md docs(README.md): document $BACKDOWN_IGNORENONEXISTENT 2026年06月09日 17:08:34 +02:00

backdown

backdown is a simple file backup tool.

backups are stored in ~/Backdown by default, although this can be overridden by the $BACKDOWN_DIR environment variable.

for example, you could set $BACKDOWN_DIR to point to an external hard disk or network location to back up to!

backups are named as follows: YYMMDD_HHMMSS-<original filename>

if you don't want the date/time prefix, you can set $BACKDOWN_STRIP_PREFIX to true

usage

backdown <files...>

Note

you can set $BACKDOWN_VERBOSE to true when backing up directories to show what files are being copied you can also set $BACKDOWN_IGNORENONEXISTENT to true to skip over non-existent files instead of exiting.

example

backdown ~/Pictures ~/Projects ~/Documents

building

prerequisites

you'll need:

  • dub, the dlang package manager
  • a dlang compiler
    • i recommend ldc, but dmd and gdc also work

compiling

to compile, simply run the following:

dub build --build=release

this will output a backdown file in the root of the repository. copy this to a location on your $PATH, like ~/.local/bin