Compare commits

..

2 Commits

Author SHA1 Message Date
14ac2d9763 Prune old archives 2024-08-13 10:41:13 +02:00
36798f9cf4 Update README 2024-08-10 00:01:38 +02:00
3 changed files with 6 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
Package: tupper Package: tupper
Version: 0.1 Version: 0.1.1
Maintainer: Martin "maride" Dessauer Maintainer: Martin "maride" Dessauer
Architecture: all Architecture: all
Depends: cron (>= 3.0), borgbackup (<< 2), sshfs (>= 3) Depends: cron (>= 3.0), borgbackup (<< 2), sshfs (>= 3)

View File

@@ -8,20 +8,20 @@ Drops of glue between [SSHFS](https://github.com/libfuse/sshfs), [Borg](https://
- Encrypted, deduplicated backups thanks to Borg - Encrypted, deduplicated backups thanks to Borg
- Backup of specified directories to SSHFS - Backup of specified directories to SSHFS
- Daily cron scheduler - Daily cron scheduler
- Auto-prune old archives
## Usage ## Usage
Enter SSH credentials, host and destination directory in `/etc/tupper.conf`, as well as the directories to back up. Enter SSH credentials, host and destination directory in `/etc/tupper.conf`, as well as the directories to back up.
After that, run `sudo tupper initialize` once to init the Borg repository.
Then either run `sudo tupper` or wait for the daily cron scheduler to kick in. Then either run `sudo tupper backup` or wait for the daily cron scheduler to kick in.
## Building ## Building
`dpkg-deb --build . tupper_0.1_all.deb` `dpkg-deb --build . tupper_0.1.1_all.deb`
## TODO / Known pitfalls ## TODO / Known pitfalls
- The Borg backup destination (thus, the contents of the SSHFS directory) must be `borg init`ed; tupper won't do that (and probably shouldn't anyway)
- If `tupper` fails with `timeout waiting for prompt`, you may need to validate and accept the SSH host key: `ssh-keyscan yournas.local | sudo tee --append /root/.ssh/known_hosts` - If `tupper` fails with `timeout waiting for prompt`, you may need to validate and accept the SSH host key: `ssh-keyscan yournas.local | sudo tee --append /root/.ssh/known_hosts`

View File

@@ -47,6 +47,7 @@ if [ "$ACTION" = "initialize" ]; then
borg init --encryption=repokey "$TARGET" borg init --encryption=repokey "$TARGET"
elif [ "$ACTION" = "backup" ]; then elif [ "$ACTION" = "backup" ]; then
borg create --stats "$MOUNTPOINT::"'{now}' "$TARGET" borg create --stats "$MOUNTPOINT::"'{now}' "$TARGET"
borg prune --list --show-rc --keep-daily 7 --keep-weekly 4 --keep-monthly 3 "$MOUNTPOINT"
borg list "$MOUNTPOINT" borg list "$MOUNTPOINT"
fi fi