Sobie napisałem skrypt dla poldka do pobierania paczek via ssh z
zainstalowanym kluczem. Jest w załączniku, działa ale bez wskazania
postępu. Uwagi mile widziane, jeśli ktoś ma chęć, to może coś poprawić i
włączyć do paczki z poldkiem... ;)
-- 
Pozdrawiam,
Daniel Dawid Majewski
jabber:light-i/jid.pl
#! /bin/bash
# test :
# ./vfscp scp://buil...@traficmrk%60/home/services/ftp/th-noarch/pack.rpm 
/var/cache/poldek/down

# support scp://[localuser:]remoteu...@host[%port]/path/FETCH_FILE
# public key must be instaled on remote host in ~/.ssh/authorized_keys[2]
# requires: id, basename, grep, sed, scp

PATH="/bin:/sbin:/usr/bin:/usr/sbin"

#       echo "Paramets : $...@}"

if [ "$#" != "2" ]; then
    echo "usage: `basename $0` scp://remoteu...@server/path/FILE DESTFILE"
    exit 1
fi

FETCH_URL=${1}
if echo ${FETCH_URL}|grep -qE '^scp://[^/@]+@' ; then
        if echo ${FETCH_URL}|grep -qE '^scp://[^:@]+:[...@]+@' ; then
                LOGIN=$(echo ${FETCH_URL}|sed 
's|^scp://[^:]\+:\([...@]\+\)@.*|\1|')
                AS_USER=$(echo ${FETCH_URL}|sed 
's|^scp://\([^:]\+\):[...@]\+@.*|\1|')
        else
                LOGIN=$(echo ${FETCH_URL}|sed 's|^scp://\([...@]\+\)@.*|\1|')
                AS_USER="poldek"
        fi
        if echo $FETCH_URL|grep -qE '^scp://[^%]+%' ; then
                FETCH_SRV=$(echo ${FETCH_URL}|sed 
"s;^scp://[...@]\+@\([^%]\+\)%.*;\1;")
                FETCH_SRVP=" -P$(echo ${FETCH_URL}|sed 
's|^scp://.*%\([[:digit:]]*\)/.*|\1|')"
        else
                FETCH_SRV=$(echo ${FETCH_URL}|sed 
's;^scp://[...@]\+@\([^/]\+\)\.*;\1;')
                FETCH_SRVP=""
        fi
        FETCH_FILE=$(echo ${FETCH_URL}|sed 's|^scp://[^/]\+||')
fi

FETCH_DOWN=${2}

if [ -z "${FETCH_SRV}" -o -z "${FETCH_FILE}" ]; then
        echo "`basename $0`: wrong URL argument"
    exit 1
fi

RUNUSER=`id -nu`
FETCH_GROUP="rpm"
#       echo "RunUser :${RUNUSER}"

[ ${RUNUSER} == root ] && [ -n ${FETCH_GROUP} ] && chown -R 
${AS_USER}.${FETCH_GROUP} ${FETCH_DOWN} ; chmod -R g+w ${FETCH_DOWN}
# echo "Local User: \"${AS_USER}\" Remote User : \"${LOGIN}\" Remote Host : 
\"${FETCH_SRV}\" Remote Port : \"${FETCH_SRVP}\" Remote File : 
\"${FETCH_FILE}\" Download to : \"${FETCH_DOWN}\""
sudo -u ${AS_USER} scp -C ${FETCH_SRVP} ${log...@${fetch_srv}:${FETCH_FILE} 
${FETCH_DOWN}
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym