Merge branch 'master' of github.com:m42e/docker-backup-gpg-s3
This commit is contained in:
@@ -4,6 +4,7 @@ MAINTAINER matthias@bilger.info
|
|||||||
RUN apk add --update \
|
RUN apk add --update \
|
||||||
py-pip \
|
py-pip \
|
||||||
gpgme \
|
gpgme \
|
||||||
|
curl \
|
||||||
tar \
|
tar \
|
||||||
sed \
|
sed \
|
||||||
xz \
|
xz \
|
||||||
|
|||||||
23
backup.sh
23
backup.sh
@@ -16,25 +16,40 @@ else
|
|||||||
BACKUP_FILENAME_MONTHLY=monthly_$BACKUP_BASENAME.xz
|
BACKUP_FILENAME_MONTHLY=monthly_$BACKUP_BASENAME.xz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
healthchck_fail(){
|
||||||
|
if [ -n $HEALTHCHECK_URL ]; then
|
||||||
|
curl --retry 3 $HEALTHCHECK_URL/fail
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
healthchck_ok(){
|
||||||
|
if [ -n $HEALTHCHECK_URL ]; then
|
||||||
|
curl --retry 3 $HEALTHCHECK_URL
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
cd /backup
|
cd /backup
|
||||||
echo "make archive"
|
echo "make archive"
|
||||||
tar -c --checkpoint=.1000 ${TAR_PARAM} -f ~/$BACKUP_FILENAME ./*
|
tar -c --checkpoint=.1000 ${TAR_PARAM} -f ~/$BACKUP_FILENAME ./* || healthchck_fail
|
||||||
cd /
|
cd /
|
||||||
echo " done"
|
echo " done"
|
||||||
|
|
||||||
RECIPIENT=$(echo "$GPG_RECIPIENT" | sed "s/,/ --recipient /")
|
RECIPIENT=$(echo "$GPG_RECIPIENT" | sed "s/,/ --recipient /")
|
||||||
|
|
||||||
echo "encrypting"
|
echo "encrypting"
|
||||||
gpg --trust-model always --enable-progress-filter --output ~/$BACKUP_FILENAME.gpg --encrypt --recipient $RECIPIENT ~/$BACKUP_FILENAME
|
gpg --trust-model always --enable-progress-filter --output ~/$BACKUP_FILENAME.gpg --encrypt --recipient $RECIPIENT ~/$BACKUP_FILENAME || healthchck_fail
|
||||||
rm ~/$BACKUP_FILENAME
|
rm ~/$BACKUP_FILENAME
|
||||||
|
|
||||||
echo "uploading"
|
echo "uploading"
|
||||||
aws s3 cp ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg --storage-class STANDARD_IA
|
aws s3 cp ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg --storage-class STANDARD_IA || healthchck_fail
|
||||||
rm ~/$BACKUP_FILENAME.gpg
|
rm ~/$BACKUP_FILENAME.gpg
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
# On first month day do
|
# On first month day do
|
||||||
if [ "$month_day" -eq 1 ] ; then
|
if [ "$month_day" -eq 1 ] ; then
|
||||||
echo "make monthly backup"
|
echo "make monthly backup"
|
||||||
aws s3 s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME_MONTHLY.gpg --storage-class DEEP_ARCHIVE
|
aws s3 cp s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME_MONTHLY.gpg --storage-class DEEP_ARCHIVE || (curl --retry 3 https://health.d1v3.de/ping/8183024f-0aa5-4e19-90a2-c1325a5408ae/fail && exit 1)
|
||||||
fi
|
fi
|
||||||
|
healthchck_ok
|
||||||
|
|||||||
Reference in New Issue
Block a user