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 %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 ## Dependencies
Backup depends on: Backup depends on:
- `borgbackup`
- `borgmatic` - `borgmatic`
- `sshfs` - `sshfs`

View file

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

View file

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