rn3 changes + crontab script example

master
Nathan Steel 9 months ago
parent b2ec854a0f
commit 64c9ec7ab6

@ -1,2 +1,9 @@
minecraft minecraft
factorio factorio
cron
docker/x
home
sql
website
config (A directory where I'll put all configs I edit, and have them symlinked to correct places. Makes it easier to backup per-server)

@ -1,30 +1,26 @@
#!/bin/bash #!/bin/bash
# RUN EACH BACKUP SCRIPT IN HERE AS ITS OWN CRONJOB!!!!! # 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) # 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 # 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 # 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 # 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 # Also follow comments above each script # BORG USER ON REMOTE HOST (below), everything else after this on local
# sudo adduser borg # useradd probably best, don't need a /home/ right? # sudo adduser borg ; sudo setfacl -Rdm "u:borg:rwX" /home/nathan/BACKUP && sudo setfacl -Rm "u:borg:rwX" /home/nathan/BACKUP
# (borgBackups) # (borgBackups)
# source /path/to/script # Uses current script process/vars # source /path/to/script # Uses current script process/vars
# /bin/bash /path/to/script # Runs script as seperate process # /bin/bash /path/to/script # Runs script as seperate process
# 0 2 * * * /home/nathan/git/scripts/backup/borg/rn3/backup.sh # AT 2AM
# DOCKER BACKUP # change nathan to whoever is running the script on host # 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 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 ; # 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 \ /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" \ -c "anetwork.uk aney.co.uk dokuwiki gitea homepage mariadb npm planka uptimekuma vaultwarden" \
-d /home/nathan/docker \ -d /home/nathan/docker \
-b /home/nathan/BACKUP \ -b /home/nathan/BACKUP/docker \
-r borg_avps \ -r borg_avps \
-R /home/nathan/BACKUP/rn3/docker -R /home/nathan/BACKUP/rn3/docker
@ -38,11 +34,12 @@
# Maria/mysql Database backup # Maria/mysql Database backup
# /bin/bash /home/nathan/docker/mariadb/scripts/backup.txt # /bin/bash /home/nathan/docker/mariadb/scripts/backup.txt
# 0 */1 * * * /home/nathan/git/scripts/backup/borg/rn3/backup.sh # EVERY HOUR
# Cronjob backup # change nathan to whoever is running the script on host # 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) # 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 # 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 \ /bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh \
-d /var/spool/cron/crontabs \ -d /var/spool/cron/crontabs \
-b /home/nathan/BACKUP/cron \ -b /home/nathan/BACKUP/cron \
-r pi2 \ -r borg_avps \
/home/nathan/BACKUP/rn3/cron -R /home/nathan/BACKUP/rn3/cron

@ -0,0 +1,4 @@
# Potental issue with 'permissions denied' https://serverfault.com/q/78159 # OR sudo crontab -u yourUser -e
0 2 * * * /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
0 */1 * * * /home/nathan/git/scripts/backup/borg/directory_backup.sh -d /var/spool/cron/crontabs -b /home/nathan/BACKUP/cron -r borg_avps -R /home/nathan/BACKUP/rn3/cron
Loading…
Cancel
Save