diff --git a/backup.sh b/backup.sh index 8fcc73f..7f7509a 100644 --- a/backup.sh +++ b/backup.sh @@ -59,25 +59,42 @@ gpg --batch --trust-model always --enable-progress-filter --output ~/$BACKUP_FIL rm ~/$BACKUP_FILENAME echo "uploading" -AWS_ENDPOINT_OPTION= -AWS_STORAGECLASS_OPTION="--storage-class DEEP_ARCHIVE" -if [ "$AWS_USE_MINIO" -eq 1 ] ; then - aws configure set default.s3.signature_version s3v4 - AWS_ENDPOINT_OPTION="--endpoint-url https://${MINIO_ENDPOINT}" - AWS_STORAGECLASS_OPTION= -fi -echo aws ${AWS_ENDPOINT_OPTION} s3 cp ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg ${AWS_STORAGECLASS_OPTION} || healthchck_fail "Upload Failed" -aws ${AWS_ENDPOINT_OPTION} s3 cp --no-progress ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg ${AWS_STORAGECLASS_OPTION} || healthchck_fail "Upload Failed" -rm ~/$BACKUP_FILENAME.gpg -echo "done" - -# On first month day do -if [ "$AWS_USE_MINIO" -eq 1 ]; then - echo "no monthly" +if [ "$USE_SFTP" -eq 1 ]; then + cd ~/ + sshpass -e sftp -oBatchMode=no -b - ${SFTP_USER}@${SFTP_HOST} << ! + cd ${SFTP_PATH} + put ${BACKUP_FILENAME}.gpg + bye +! + if [ "$month_day" -eq 1 ] ; then + echo "make monthly backup" + sshpass -e sftp -oBatchMode=no -b - ${SFTP_USER}@${SFTP_HOST} << ! + cd ${SFTP_PATH} + cp ${BACKUP_FILENAME}.gpg ${BACKUP_FILENAME_MONTHLY}.gpg + bye +! + fi + rm ~/$BACKUP_FILENAME.gpg else -if [ "$month_day" -eq 1 ] ; then - echo "make monthly backup" - aws ${AWS_ENDPOINT_OPTIOM} 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 + AWS_ENDPOINT_OPTION= + AWS_STORAGECLASS_OPTION="--storage-class DEEP_ARCHIVE" + if [ "$AWS_USE_MINIO" -eq 1 ] ; then + aws configure set default.s3.signature_version s3v4 + AWS_ENDPOINT_OPTION="--endpoint-url https://${MINIO_ENDPOINT}" + AWS_STORAGECLASS_OPTION= + fi + echo aws ${AWS_ENDPOINT_OPTION} s3 cp ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg ${AWS_STORAGECLASS_OPTION} || healthchck_fail "Upload Failed" + aws ${AWS_ENDPOINT_OPTION} s3 cp --no-progress ~/$BACKUP_FILENAME.gpg s3://$S3_BUCKET_NAME/$BACKUP_FILENAME.gpg ${AWS_STORAGECLASS_OPTION} || healthchck_fail "Upload Failed" + rm ~/$BACKUP_FILENAME.gpg + echo "done" + + # On first month day do + if [ "$AWS_USE_MINIO" -eq 1 ]; then + echo "no monthly" + else + if [ "$month_day" -eq 1 ] ; then + echo "make monthly backup" + aws ${AWS_ENDPOINT_OPTIOM} 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 "Success"