Add command that retreive data from backend and use zstd compression to transfer
This commit is contained in:
parent
368ebfaba2
commit
0ef37ad846
1 changed files with 35 additions and 0 deletions
35
bin/get
Executable file
35
bin/get
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
ARCHIVE=false
|
||||||
|
DESTINATION_LOCAL_DIR="./"
|
||||||
|
|
||||||
|
if [[ "$1" == "--archive" ]]; then
|
||||||
|
ARCHIVE=true
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $# -lt 2 ]]; then
|
||||||
|
echo "Usage: $0 [--archive] user@host remote_source_dir [local_destination_dir]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USER_HOST="$1"
|
||||||
|
REMOTE_USER="${USER_HOST%@*}"
|
||||||
|
HOST="${USER_HOST#*@}"
|
||||||
|
|
||||||
|
REMOTE_SOURCE_DIR="$2"
|
||||||
|
if [[ -n "$3" ]]; then
|
||||||
|
DESTINATION_LOCAL_DIR="$3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "ARCHIVE=$ARCHIVE"
|
||||||
|
echo "REMOTE_USER=$REMOTE_USER"
|
||||||
|
echo "HOST=$HOST"
|
||||||
|
echo "REMOTE_SOURCE_DIR=$REMOTE_SOURCE_DIR"
|
||||||
|
echo "DESTINATION_LOCAL_DIR=$DESTINATION_LOCAL_DIR"
|
||||||
|
|
||||||
|
|
||||||
|
# Example that works
|
||||||
|
# ssh debian@gurgul.org "tar --zstd -cf - -C /home/debian .dat" | tar --zstd -xf - -C .
|
||||||
|
# get debian@gurgul.org .dat
|
||||||
|
|
||||||
|
TAR_COMMAND="tar --zstd -cf - -C /home/$REMOTE_USER $REMOTE_SOURCE_DIR"
|
||||||
|
ssh $REMOTE_USER@$HOST $TAR_COMMAND | tar --zstd -xf - -C $DESTINATION_LOCAL_DIR
|
Loading…
Add table
Add a link
Reference in a new issue