Compare commits

..

2 Commits

Author SHA1 Message Date
a888dbaa05 Merge branch 'main' of https://gitty.interesting-corner.nl/sem/backup-scripts
add services folder with backup scripts for ymir
2026-08-09 14:48:24 +00:00
23bd1e4c20 Add services backup scripts 2026-08-09 14:47:19 +00:00
5 changed files with 99 additions and 0 deletions

21
services/backup-docspell.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
echo "running backup docspell script at $(date)"
backup-scripts/start-backup.sh
echo "backing up docspell!"
echo "------------------"
cd /srv/docspell/docker/docker-compose/
echo "cd to $(pwd)"
echo "executing postgres pg_dump command"
docker exec -it postgres_db pg_dump -d dbname -U dbuser -Fc -f /opt/backup/docspell.sqlc
# then backup to backups vm
echo "sending sql backup to VM"
rsync --stats --progress -arv --ignore-times /backups/docspell-backup/* sem@10.10.100.52:/home/sem/docspell-backup/
echo "sending docspell dir to VM"
rsync --stats --progress -arv --ignore-times /srv/docspell/* sem@10.10.100.52:/home/sem/docspell-backup/
# run script using absolute path because docker backup command cd's to /srv/docspell
/backups/backup-scripts/stop-backup.sh

24
services/backup-immich.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/bash
echo "running backup immich script at $(date)"
backup-scripts/start-backup.sh
echo "backing up immich!"
echo "------------------"
echo "backing up photos!"
# use the --update flag to update the remote only if a newer version is on the local filesystem"
rsync --stats --progress -arv --update /mass/photos/* sem@10.10.100.52:/home/sem/immich/immich_photos_backup/
echo "------------------"
echo "backing up config"
echo "executing backup command"
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > "/backups/immich_backup_dump.sgl.gz"
echo "sending config backup to VM"
rsync --stats --progress -arv /backups/immich_backup_dump.sgl.gz sem@10.10.100.52:/home/sem/immich/immich_backup_dump.sgl.gz
echo "------------------"
echo "backing up immich-app folder"
rsync --stats --progress -arv /home/sem/immich-app sem@10.10.100.52:/home/sem/immich/immich-app
backup-scripts/stop-backup.sh

18
services/backup-music.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
echo "running backup music script at $(date)"
backup-scripts/start-backup.sh
echo "backing up music!"
# backup music to backups vm
rsync --stats --progress -arv --ignore-existing /home/sem/Music/* sem@10.10.100.52:/home/sem/music-backup/songs
echo "backing up db!"
rsync --stats --progress -arv /var/lib/navidrome/* --exclude /var/lib/navidrome/cache sem@10.10.100.52:/home/sem/music-backup/navidrome
echo "backing up config!"
rsync --stats --progress -arv /etc/navidrome/* sem@10.10.100.52:/home/sem/music-backup/navidrome
backup-scripts/stop-backup.sh

11
services/backup-trilium.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
echo "running backup trilium script at $(date)"
backup-scripts/start-backup.sh
echo "backing up trilium!"
echo "------------------"
rsync --stats --progress -arv --ignore-times /home/sem/trilium-data sem@10.10.100.52:/home/sem/
backup-scripts/stop-backup.sh

25
services/backup-webserver.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
echo "running backup webserver script at $(date)"
backup-scripts/start-backup.sh
echo "[since 27-03-2026] Not backing up webserver because it's tracked in gitea"
# echo "backing up webserver!"
# echo "------------------"
# rsync -arv /home/sem/webserver sem@10.10.100.52:/home/sem/webserver-backups/
echo "------------------"
echo "Backing up mysql database!"
echo "Creating database dump"
mysqldump -u root -p'Mmiiigod1j!mysql' --all-databases > /backups/all_databases.sql
echo "Sending database backup"
rsync --stats --progress -arv --ignore-times /backups/all_databases.sql sem@10.10.100.52:/home/sem/webserver-backups/
echo "------------------"
echo "Backing up library!"
rsync --stats --progress -arv /srv/library sem@10.10.100.52:/home/sem/webserver-backups/
backup-scripts/stop-backup.sh