W dniu 12 marca 2009 23:55 użytkownik Daniel Dawid Majewski
<[email protected]> napisał:
> 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}
>

Czyli w gruncie rzeczy chodzi Ci o coś takiego?

[bar...@macbook ~]$ ssh [email protected] "poldek -ivh xorg-app-xload"
Wczytywanie [pndir]titanium...
Wczytywanie [pndir]titanium...
Wczytywanie [pndir]titanium-ready...
Wczytywanie [pndir]titanium-ready...
Wczytywanie [pndir]titanium-test...
Wczytywanie [pndir]titanium-test...
Przeczytano 9327 pakietów
Przetwarzanie zależności...
There are 1 package to install:
I xorg-app-xload-1.0.2-3.x86_64
Potrzeba pobrać 14.6KB archiwów (14.6KB do pobrania).
Po rozpakowaniu 20.7KB będzie użyte.
Pobieranie titanium::xorg-app-xload-1.0.2-3.x86_64.rpm...
..............................zrobione
Uruchamianie rpm --install -vh --root /...
Przygotowywanie...          ##################################################
xorg-app-xload              ##################################################
[bar...@macbook ~]$

1 linijka a output jest.


-- 
"I'm living proof if you do one thing right in your career, you can
coast for a long time. A LOOOOONG time." -Guy Kawasaki
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym