diff --git a/README.md b/README.md index 1f957dc..4e8a1f3 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,7 @@ Variable | Default | Notes `AWS_DEFAULT_REGION` | | Optional when using `AWS_S3_BUCKET_NAME`. Allows you to override the AWS CLI default region. Usually not needed. `AWS_EXTRA_ARGS` | | Optional additional args for the AWS CLI. Useful for e.g. providing `--endpoint-url ` for S3-compatible systems, such as [DigitalOcean Spaces](https://www.digitalocean.com/products/spaces/), [MinIO](https://min.io/) and the like. `SCP_HOST` | | When provided, the resulting backup file will be uploaded by means of `scp` to the host stated. +`SCP_PORT` | `22` | Port, on which the host stated above is listening. `SCP_USER` | | User name to log into `SCP_HOST`. `SCP_DIRECTORY` | | Directory on `SCP_HOST` where backup file is stored. `PRE_SCP_COMMAND` | | Commands that is executed on `SCP_HOST` before the backup is transferred. diff --git a/src/backup.sh b/src/backup.sh index a4e91de..9427950 100755 --- a/src/backup.sh +++ b/src/backup.sh @@ -120,20 +120,22 @@ if [ ! -z "$AWS_GLACIER_VAULT_NAME" ]; then fi if [ ! -z "$SCP_HOST" ]; then - info "Uploading backup by means of SCP" SSH_CONFIG="-o StrictHostKeyChecking=no -i /ssh/id_rsa" if [ ! -z "$PRE_SCP_COMMAND" ]; then - echo "Pre-scp command: $PRE_SCP_COMMAND" - ssh $SSH_CONFIG $SCP_USER@$SCP_HOST $PRE_SCP_COMMAND + info "Pre-scp command" + echo "$PRE_SCP_COMMAND" + eval ssh -p $SCP_PORT $SSH_CONFIG $SCP_USER@$SCP_HOST $PRE_SCP_COMMAND fi + info "Uploading backup by means of SCP" echo "Will upload to $SCP_HOST:$SCP_DIRECTORY" TIME_UPLOAD="$(date +%s.%N)" - scp $SSH_CONFIG $BACKUP_FILENAME $SCP_USER@$SCP_HOST:$SCP_DIRECTORY + scp -P $SCP_PORT $SSH_CONFIG $BACKUP_FILENAME $SCP_USER@$SCP_HOST:$SCP_DIRECTORY echo "Upload finished" TIME_UPLOADED="$(date +%s.%N)" if [ ! -z "$POST_SCP_COMMAND" ]; then - echo "Post-scp command: $POST_SCP_COMMAND" - ssh $SSH_CONFIG $SCP_USER@$SCP_HOST $POST_SCP_COMMAND + info "Post-scp command" + echo "$POST_SCP_COMMAND" + eval ssh -p $SCP_PORT $SSH_CONFIG $SCP_USER@$SCP_HOST $POST_SCP_COMMAND fi fi diff --git a/src/entrypoint.sh b/src/entrypoint.sh index 47ec835..d70c80f 100644 --- a/src/entrypoint.sh +++ b/src/entrypoint.sh @@ -13,6 +13,7 @@ AWS_EXTRA_ARGS="${AWS_EXTRA_ARGS:-}" PRE_BACKUP_COMMAND="${PRE_BACKUP_COMMAND:-}" POST_BACKUP_COMMAND="${POST_BACKUP_COMMAND:-}" SCP_HOST="${SCP_HOST:-}" +SCP_PORT="${SCP_PORT:-22}" SCP_USER="${SCP_USER:-}" SCP_DIRECTORY="${SCP_DIRECTORY:-}" PRE_SCP_COMMAND="${PRE_SCP_COMMAND:-}"