#!/bin/bash # RUN EACH BACKUP SCRIPT IN HERE AS ITS OWN CRONJOB!!!!! # Every hour # Don't add this script though, just as example # 0 0/1 * * * /home/nathan/git/scripts/backup/borg/rn3/backup.sh # At 2am # 0 2 * * * /home/nathan/git/scripts/backup/borg/rn3/backup.sh # Ensure borg_avps is in .ssh/config # and that server has borg user (with perms for server directories) # sudo apt install acl && wget https://github.com/borgbackup/borg/releases/download/1.2.4/borg-linux64 # https://borgbackup.readthedocs.io/en/stable/installation.html#pyinstaller-binary # sudo cp borg-linux64 /usr/local/bin/borg && sudo chown root:root /usr/local/bin/borg && sudo chmod 755 /usr/local/bin/borg && sudo ln -s /usr/local/bin/borg /usr/local/bin/borgfs # Also follow comments above each script # sudo adduser borg # useradd probably best, don't need a /home/ right? # (borgBackups) # source /path/to/script # Uses current script process/vars # /bin/bash /path/to/script # Runs script as seperate process # DOCKER BACKUP # change nathan to whoever is running the script on host # sudo setfacl -Rdm "u:nathan:rX" /home/nathan/docker && sudo setfacl -Rm "u:nathan:rX" /home/nathan/docker # sudo groupadd docker ; sudo usermod -aG docker nathan # If docker group exist, the next command will still run ; /bin/bash /home/nathan/git/scripts/backup/borg/docker_backup.sh \ -c "anetwork.uk aney.co.uk dokuwiki gitea homepage mariadb npm planka uptimekuma vaultwarden" \ -d /home/nathan/docker \ -b /home/nathan/BACKUP \ -r borg_avps \ -R /home/nathan/BACKUP/rn3/docker # WEBSITE DIRECTORY # All sites together for this one (look at seperating in future) # /bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh \ # -d "/home/nathan/websites" \ # -b /home/nathan/BACKUP/dir \ # -r pi2 \ # -R /home/nathan/BACKUP/rn3/website # Maria/mysql Database backup # /bin/bash /home/nathan/docker/mariadb/scripts/backup.txt # Cronjob backup # change nathan to whoever is running the script on host # Requires permissions of /var/spool/cron/crontabs (rX, X for directories only, so they can be opened) # sudo setfacl -Rdm "u:nathan:rX" /var/spool/cron/crontabs && sudo setfacl -Rm "u:nathan:rX" /var/spool/cron/crontabs /bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh \ -d /var/spool/cron/crontabs \ -b /home/nathan/BACKUP/cron \ -r pi2 \ /home/nathan/BACKUP/rn3/cron