/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Problemer med expect script
Fra : Jens


Dato : 31-03-03 09:47

Hej!

Jeg har problemer med et script der automatisk skal hente en fil på en ftp
server, scriptet ser således ud:

#!/usr/bin/expect -f
set password "123456"
set kommando "get /var/backup/backup.tgz /var/backup"
set kommando2 "quit"
spawn sftp root@www.mitdomain.dk
expect "root@www.mitdomain.dk's password:"
send "$password\n"
expect "sftp>"
send "$kommando\r"
expect "sftp>"
send "$kommando2\n"

----
Problemet er, scriptet går videre/timer out inden den har fået hentet hele
filen, nogen der har en ide til hvordan jeg får den til at vente med at
udfører mere af scriptet før kommandoen er blevet udført?


Med venlig hilsen


- Jens

 
 
Soren Davidsen (31-03-2003)
Kommentar
Fra : Soren Davidsen


Dato : 31-03-03 11:49

"Jens" <ask@news.dk> writes:

> Problemet er, scriptet går videre/timer out inden den har fået hentet hele
> filen, nogen der har en ide til hvordan jeg får den til at vente med at
> udfører mere af scriptet før kommandoen er blevet udført?

Proev (skift selv 500 til en passende vaerdi);
set timeout 500


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

Jens (31-03-2003)
Kommentar
Fra : Jens


Dato : 31-03-03 11:25

On Mon, 31 Mar 2003 12:48:59 +0200, Soren Davidsen wrote:

> Proev (skift selv 500 til en passende vaerdi);
> set timeout 500

Det kan jeg umiddelbart ikke, jeg kender ikke den nøjagtige størrelse på
den fil jeg skal hente, den kan variere fra 3 til 650 MB :(
Jeg kunne selvfølgelig give den maks værdien, men det ville være lidt
spild at holde en session åben hvis jeg ikke bruger den, men tak for
foreslaget!

Med venlig hilsen

- Jens

Claus Albøge (31-03-2003)
Kommentar
Fra : Claus Albøge


Dato : 31-03-03 11:41

"Jens" <ask@news.dk> writes:

> On Mon, 31 Mar 2003 12:48:59 +0200, Soren Davidsen wrote:
>
> > Proev (skift selv 500 til en passende vaerdi);
> > set timeout 500
>
> Det kan jeg umiddelbart ikke, jeg kender ikke den nøjagtige størrelse på
> den fil jeg skal hente, den kan variere fra 3 til 650 MB :(
> Jeg kunne selvfølgelig give den maks værdien, men det ville være lidt
> spild at holde en session åben hvis jeg ikke bruger den, men tak for
> foreslaget!

Kunne det taenkes at du kunne loese opgaven med scp, evt. rsync over
ssh og ssh-noegler. Saa slipper du bl.a. for at have rootpassword i en
tekstfil. Jeg har endnu ikke oplevet en timeout paa ovenstaaende
metoder.


/Claus A


Jens (31-03-2003)
Kommentar
Fra : Jens


Dato : 31-03-03 12:05

On Mon, 31 Mar 2003 12:40:56 +0200, Claus Albøge wrote:


> Kunne det taenkes at du kunne loese opgaven med scp, evt. rsync over
> ssh og ssh-noegler. Saa slipper du bl.a. for at have rootpassword i en
> tekstfil. Jeg har endnu ikke oplevet en timeout paa ovenstaaende
> metoder.
>
Hej!

Jep, jeg "opdagede" også scp, som en bedre løsning :) ... men jeg har brug
for lidt input her, jeg er ikke den store ssh-haj, så er det muligt at
lave et login uden brug af password, men kun baseret på nøglen?
- Hvis ja, har I et lille eksempel?

På forhånd tak

- Jens

Soren Davidsen (31-03-2003)
Kommentar
Fra : Soren Davidsen


Dato : 31-03-03 13:28

"Jens" <ask@news.dk> writes:

> On Mon, 31 Mar 2003 12:40:56 +0200, Claus Albøge wrote:
>
>
> > Kunne det taenkes at du kunne loese opgaven med scp, evt. rsync over
> > ssh og ssh-noegler. Saa slipper du bl.a. for at have rootpassword i en
> > tekstfil. Jeg har endnu ikke oplevet en timeout paa ovenstaaende
> > metoder.
> >
> Hej!
>
> Jep, jeg "opdagede" også scp, som en bedre løsning :) ... men jeg har brug
> for lidt input her, jeg er ikke den store ssh-haj, så er det muligt at
> lave et login uden brug af password, men kun baseret på nøglen?
> - Hvis ja, har I et lille eksempel?

opretter en noegle og kopierer den til din anden boks:
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub brugernavn@dinboks.dk:.

log paa den anden boks, og put noeglen det rigtige sted:
ssh brugernavn@dinboks
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
rm ~/id_rsa.pub

log af igen, og tilfoej noeglen til din ssh-agent:
ssh-add

Der er et 'trick' .. Du skal have ssh-agent kørende .. Jeg plejer at få den
startet når jeg logger på min X-terminal, men du skal naturligvis have noget
andet hvis det skal køre vha. cron eller lign.. Det er der maaske nogle andre
her i gruppen som kan hjaelpe med .


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

Jens (31-03-2003)
Kommentar
Fra : Jens


Dato : 31-03-03 12:36

On Mon, 31 Mar 2003 14:27:55 +0200, Soren Davidsen wrote:


> opretter en noegle og kopierer den til din anden boks:
> ssh-keygen -t rsa
> scp ~/.ssh/id_rsa.pub brugernavn@dinboks.dk:.
>
<klip>

Tusind tak for hjælpen, nu er jeg flyvende :)

- Jens

Klaus Alexander Seis~ (31-03-2003)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 31-03-03 14:06

Søren Davidsen skrev:

> Der er et 'trick' .. Du skal have ssh-agent kørende .. Jeg
> plejer at få den startet når jeg logger på min X-terminal,
> men du skal naturligvis have noget andet hvis det skal køre
> vha. cron eller lign.

Jeg bruger keychain. Så kan jeg nøjes med at indtaste min pass-
phrase én gang pr. reboot, lissom cronscripts kan gøre brug af
ssh uden min medvirken.

Keychain bor her:
   <http://www.gentoo.org/proj/en/keychain.xml>

Og Daniel Robbins har skrevet nogle artikler om brugen:
   <http://www-106.ibm.com/developerworks/library/l-keyc.html>
   <http://www-106.ibm.com/developerworks/linux/library/l-keyc2/>
   <http://www-106.ibm.com/developerworks/linux/library/l-keyc3/>


// Klaus

--
><>    unselfish actions pay back better

Soren Davidsen (31-03-2003)
Kommentar
Fra : Soren Davidsen


Dato : 31-03-03 15:38

Klaus Alexander Seistrup <spam@magnetic-ink.dk> writes:

> Søren Davidsen skrev:
>
> > Der er et 'trick' .. Du skal have ssh-agent kørende .. Jeg
> > plejer at få den startet når jeg logger på min X-terminal,
> > men du skal naturligvis have noget andet hvis det skal køre
> > vha. cron eller lign.
>
> Jeg bruger keychain. Så kan jeg nøjes med at indtaste min pass-
> phrase én gang pr. reboot, lissom cronscripts kan gøre brug af
> ssh uden min medvirken.
>
> Keychain bor her:
>    <http://www.gentoo.org/proj/en/keychain.xml>
>
> Og Daniel Robbins har skrevet nogle artikler om brugen:
>    <http://www-106.ibm.com/developerworks/library/l-keyc.html>
>    <http://www-106.ibm.com/developerworks/linux/library/l-keyc2/>
>    <http://www-106.ibm.com/developerworks/linux/library/l-keyc3/>

Haps, fedt lille tool, den kunne jeg ogsaa godt bruge .. Takker ! .


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

Claus Albøge (31-03-2003)
Kommentar
Fra : Claus Albøge


Dato : 31-03-03 12:24

"Jens" <ask@news.dk> writes:

> Jep, jeg "opdagede" også scp, som en bedre løsning :) ... men jeg har brug
> for lidt input her, jeg er ikke den store ssh-haj, så er det muligt at
> lave et login uden brug af password, men kun baseret på nøglen?
> - Hvis ja, har I et lille eksempel?

Alex har en fin intro til ssh paa:

http://mongers.org/ssh

Mon ikke du kan finde svar paa de fleste af dine spoergsmaal der?


/Claus A

Soren Davidsen (31-03-2003)
Kommentar
Fra : Soren Davidsen


Dato : 31-03-03 13:00

"Jens" <ask@news.dk> writes:

> On Mon, 31 Mar 2003 12:48:59 +0200, Soren Davidsen wrote:
>
> > Proev (skift selv 500 til en passende vaerdi);
> > set timeout 500
>
> Det kan jeg umiddelbart ikke, jeg kender ikke den nøjagtige størrelse på
> den fil jeg skal hente, den kan variere fra 3 til 650 MB :(
> Jeg kunne selvfølgelig give den maks værdien, men det ville være lidt
> spild at holde en session åben hvis jeg ikke bruger den, men tak for
> foreslaget!

Hvis dit expect script ikke laver andet end at 'putte' en fil, hvad saa
med at bruge scp og rsa identities istedet ?


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

Jan Birk (31-03-2003)
Kommentar
Fra : Jan Birk


Dato : 31-03-03 13:13

> Jeg har problemer med et script der automatisk skal hente en fil på en ftp
> server, scriptet ser således ud:

Du kunne måske også bruge ftp, sådan ala:!

#!/usr/bin/ksh
HOST=www.host.dk
PASSWORD=hemmeligt
BRUGER=jan
FILNAVN=filnavn.txt

(
echo "open $HOST
user $BRUGER $PASSWORD"
echo "get $FILNAVN"
) | ftp -i -n -v

----------

Dette virker på min Solaris box, så måske også din ...

/jb


Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste