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