Add possibility to download absolute dirs
This commit is contained in:
parent
0ef37ad846
commit
a4f3987b97
1 changed files with 24 additions and 2 deletions
26
bin/get
26
bin/get
|
@ -20,16 +20,38 @@ if [[ -n "$3" ]]; then
|
||||||
DESTINATION_LOCAL_DIR="$3"
|
DESTINATION_LOCAL_DIR="$3"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$REMOTE_SOURCE_DIR" = /* ]]; then
|
||||||
|
IS_ABSOLUTE=true
|
||||||
|
else
|
||||||
|
IS_ABSOLUTE=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo "ARCHIVE=$ARCHIVE"
|
echo "ARCHIVE=$ARCHIVE"
|
||||||
echo "REMOTE_USER=$REMOTE_USER"
|
echo "REMOTE_USER=$REMOTE_USER"
|
||||||
echo "HOST=$HOST"
|
echo "HOST=$HOST"
|
||||||
echo "REMOTE_SOURCE_DIR=$REMOTE_SOURCE_DIR"
|
echo "REMOTE_SOURCE_DIR=$REMOTE_SOURCE_DIR"
|
||||||
echo "DESTINATION_LOCAL_DIR=$DESTINATION_LOCAL_DIR"
|
echo "DESTINATION_LOCAL_DIR=$DESTINATION_LOCAL_DIR"
|
||||||
|
|
||||||
|
REMOTE_BASE_DIR=""
|
||||||
|
|
||||||
|
if $IS_ABSOLUTE; then
|
||||||
|
REMOTE_BASE_DIR="/"
|
||||||
|
else
|
||||||
|
REMOTE_BASE_DIR=/home/$REMOTE_USER
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Example that works
|
# Example that works
|
||||||
# ssh debian@gurgul.org "tar --zstd -cf - -C /home/debian .dat" | tar --zstd -xf - -C .
|
# ssh debian@gurgul.org "tar --zstd -cf - -C /home/debian .dat" | tar --zstd -xf - -C .
|
||||||
# get debian@gurgul.org .dat
|
# get debian@gurgul.org .dat
|
||||||
|
|
||||||
TAR_COMMAND="tar --zstd -cf - -C /home/$REMOTE_USER $REMOTE_SOURCE_DIR"
|
# get --archive debian@gurgul.org /etc
|
||||||
ssh $REMOTE_USER@$HOST $TAR_COMMAND | tar --zstd -xf - -C $DESTINATION_LOCAL_DIR
|
|
||||||
|
TAR_COMMAND="tar --zstd -cf - -C $REMOTE_BASE_DIR $REMOTE_SOURCE_DIR"
|
||||||
|
|
||||||
|
if $ARCHIVE; then
|
||||||
|
ssh $REMOTE_USER@$HOST $TAR_COMMAND > "$DESTINATION_LOCAL_DIR/$(basename "$REMOTE_SOURCE_DIR")-$(date +"%d-%m-%Y").tar.zst"
|
||||||
|
else
|
||||||
|
ssh $REMOTE_USER@$HOST $TAR_COMMAND | tar --zstd -xf - -C $DESTINATION_LOCAL_DIR
|
||||||
|
fi
|
Loading…
Add table
Add a link
Reference in a new issue