Compare commits

...

3 commits

3 changed files with 8 additions and 13 deletions

View file

@ -16,16 +16,10 @@ For this 'pull method' to work I needed to add the following line to the servers
%sudo ALL=(ALL) NOPASSWD: /usr/lib/openssh/sftp-server
```
*Notice:*
The server file system will be mounted at `tmp/mnt/ag-link-server` on your local machine. Define the paths to be backed up from there on.
## Dependencies
Backup depends on:
- `borgbackup`
- `borgmatic`
- `sshfs`

View file

@ -3,9 +3,10 @@
# For example, if you have a constant named "hostname" with the value
# "myhostname", then the string "{hostname}" will be replaced with
# "myhostname" in the configuration file.
# constants:
# hostname: myhostname
# prefix: myprefix
constants:
hostname: ag-link.xyz
user: your-username-on-server
mountpoint: /tmp/mnt/ag-link-server
# Where to look for files to backup, and where to store those backups.
# See https://borgbackup.readthedocs.io/en/stable/quickstart.html and
@ -15,7 +16,7 @@ location:
# List of source directories to backup. Globs and tildes are
# expanded. Do not backslash spaces in path names.
source_directories:
- /tmp/mnt/ag-link-server/home/docker
- {mountpoint}/home/docker
# Paths to local or remote repositories (required). Tildes are
# expanded. Multiple repositories are backed up to in
@ -390,7 +391,7 @@ hooks:
# before creating a backup, run once per repository.
before_backup:
- mkdir -p /tmp/mnt/ag-link-server
- sshfs ag-link.xyz:/ /tmp/mnt/ag-link-server -o sftp_server='/usr/bin/sudo /usr/lib/openssh/sftp-server'
- sshfs {username}@{hostname}:/ /tmp/mnt/ag-link-server -o sftp_server='/usr/bin/sudo /usr/lib/openssh/sftp-server'
# List of one or more shell commands or scripts to execute
# before pruning, run once per repository.
@ -415,7 +416,7 @@ hooks:
# List of one or more shell commands or scripts to execute
# after creating a backup, run once per repository.
after_backup:
- fusermount -u /tmp/mnt/ag-link-server
- fusermount -u {mountpoint}
# List of one or more shell commands or scripts to execute
# after compaction, run once per repository.

View file

@ -2,7 +2,7 @@ with import <nixpkgs> {};
mkShell {
name = "Dependencies for Server Backup";
buildInputs = [borgbackup borgmatic sshfs];
buildInputs = [borgmatic sshfs];
shellHook = ''
echo "Good luck backing up!"
'';