Compare commits

..

No commits in common. "8d198cf6017c1138b0156e609c37db8f6b9104b8" and "c14f0538f35311110d3029420086c9b021fd30bd" have entirely different histories.

3 changed files with 13 additions and 8 deletions

View file

@ -16,10 +16,16 @@ 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,10 +3,9 @@
# 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: ag-link.xyz # hostname: myhostname
user: your-username-on-server # prefix: myprefix
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
@ -16,7 +15,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:
- {mountpoint}/home/docker - /tmp/mnt/ag-link-server/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
@ -391,7 +390,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 {username}@{hostname}:/ /tmp/mnt/ag-link-server -o sftp_server='/usr/bin/sudo /usr/lib/openssh/sftp-server' - sshfs ag-link.xyz:/ /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.
@ -416,7 +415,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 {mountpoint} - fusermount -u /tmp/mnt/ag-link-server
# 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 = [borgmatic sshfs]; buildInputs = [borgbackup borgmatic sshfs];
shellHook = '' shellHook = ''
echo "Good luck backing up!" echo "Good luck backing up!"
''; '';