diff --git a/backup.sh b/backup.sh new file mode 100755 index 0000000..adcd1d7 --- /dev/null +++ b/backup.sh @@ -0,0 +1,25 @@ +#!/bin/bash +TIMESTAMP=$(date +%Y%m%d-%H%M) +HOSTNAME=$(hostname) +NAME=${HOSTNAME^^} +ARCHIVE=root@man02:/mnt/usb2/$NAME::$TIMESTAMP +DIR=$PWD + +date +echo Starting backup $ARCHIVE +cd /opt/paperless/paperless-ngx/ +echo Starting export of PDF-documents to exports folder... +docker compose exec -T webserver document_exporter ../export +echo Stopping docker containers... +docker compose down +echo Starting borg backup of paperless data folders... +borg create --stats $ARCHIVE \ + /opt/paperless/paperless-ngx + +echo Starting docker containers... +cd /opt/paperless/paperless-ngx/ +docker compose pull +docker compose up -d +echo finished backup $ARCHIVE +date +cd $DIR diff --git a/copy2nas.sh b/copy2nas.sh new file mode 100755 index 0000000..a783d24 --- /dev/null +++ b/copy2nas.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +SOURCEHOST=`hostname -s` +SOURCEPATH=/opt/paperless/paperless-ngx/export +TARGETPATH=/mnt/nas +RSYNCOPTIONS="--recursive --mkpath --links --times --atimes --open-noatime --progress --delete" + +echo "=================================" +echo "Starting copy $SOURCEHOST to nas." +date +echo "=================================" +if [ ! -d $TARGETPATH/$SOURCEHOST ]; then + echo "mounting $TARGETPATH" + mount $TARGETPATH +else + echo "$TARGETPATH already mounted" +fi + +if [ -d $TARGETPATH/$SOURCEHOST ]; then + rsync $SOURCEPATH $TARGETPATH/$SOURCEHOST/ $RSYNCOPTIONS +else + echo "$TARGETPATH/$SOURCEHOST not found" +fi + +echo "=================================" +echo "Finished copy $SOURCEHOST to nas." +date +echo "=================================" diff --git a/install-copy2nas.sh b/install-copy2nas.sh new file mode 100644 index 0000000..1c1ee4e --- /dev/null +++ b/install-copy2nas.sh @@ -0,0 +1,12 @@ + +cat >> /etc/crontab << 'EOF' +0 5 * * * root /usr/local/bin/copy2nas.sh +EOF + +cat >> /etc/fstab << 'EOF' +nas01:/volume1/Backup /mnt/nas nfs4 defaults 0 0 +EOF +systemctl daemon-reload +mkdir /mnt/nas +mount /mnt/nas +mkdir /mnt/nas/`hostname -s`