Merge remote-tracking branch 'refs/remotes/origin/master'
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-12-28 11:30:35 +01:00

View File

@@ -18,17 +18,24 @@ fi
healthchck_fail(){ healthchck_fail(){
if [ -n $HEALTHCHECK_URL ]; then if [ -n $HEALTHCHECK_URL ]; then
curl --retry 3 $HEALTHCHECK_URL/fail curl -X POST --data $1 --retry 3 $HEALTHCHECK_URL/fail --silent --output /dev/null
exit 1 exit 1
fi fi
} }
healthchck_start(){
if [ -n $HEALTHCHECK_URL ]; then
curl -X POST --data $1 --retry 3 $HEALTHCHECK_URL/start --silent --output /dev/null
fi
}
healthchck_ok(){ healthchck_ok(){
if [ -n $HEALTHCHECK_URL ]; then if [ -n $HEALTHCHECK_URL ]; then
curl --retry 3 $HEALTHCHECK_URL curl -X POST --data $1 --retry 3 $HEALTHCHECK_URL --silent --output /dev/null
fi fi
} }
healthchck_start "Starting Backup"
cd /backup cd /backup
echo "make archive" echo "make archive"
FROMPATH='./*' FROMPATH='./*'
@@ -36,7 +43,7 @@ FROMSIZE=`du -sk ${FROMPATH} | cut -f 1`;
CHECKPOINT=`echo ${FROMSIZE}/50 | bc`; CHECKPOINT=`echo ${FROMSIZE}/50 | bc`;
echo "Estimated: [==================================================]"; echo "Estimated: [==================================================]";
echo -n "Progess: ["; echo -n "Progess: [";
tar -c --record-size=1K --checkpoint="${CHECKPOINT}" --checkpoint-action="ttyout=>" -f - "${FROMPATH}" | bzip2 > "${$BACKUP_FILENAME}"; (tar -c --record-size=1K --checkpoint="${CHECKPOINT}" --checkpoint-action="ttyout=>" -f - "${FROMPATH}" | bzip2 > "${$BACKUP_FILENAME}") || healthchck_fail "TAR Failed"
echo "]" echo "]"
cd / cd /
echo " done" echo " done"
@@ -44,17 +51,17 @@ 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 || healthchck_fail gpg --trust-model always --enable-progress-filter --output ~/$BACKUP_FILENAME.gpg --encrypt --recipient $RECIPIENT ~/$BACKUP_FILENAME || healthchck_fail "Encryption Failed"
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 || healthchck_fail aws s3 cp ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg --storage-class STANDARD_IA || healthchck_fail "Upload Failed"
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 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) aws s3 cp s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME_MONTHLY.gpg --storage-class DEEP_ARCHIVE || healthchck_fail "failed to create monthly backup"
fi fi
healthchck_ok healthchck_ok "Success"