Expect Script Problem

D

ddanninger

Grünschnabel
Hallo, ich habe mir ein script geshcrieben , dass ich auf einen anderen linux server per ssh gehe und dort wechsel ich verzeichnis und les eine datei aus vom server wo das script ausgeführt ist , dieses soll wieder dann beim remote server in eine datei hinein.

Der Code:

Code:
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect


set file "backupnoty.txt"
spawn ssh MEINREMOTESERVER -l root
send "cd /var/www/\r"
expect ""
send "rm $file\r"
expect {
	remove {send "y\r"}
}
send "touch $file\r"
expect
set fs [open "/root/backupnoty.txt" r]
while {![eof $fs]} {
	gets $fs line
	send "echo \"$line\" >> $file\r"
	sleep 1
}
close $fs
expect ""
send "exit\r" 
expect

mein Problem ist nun wenn ich sleep 1 wegnehme, dann fetzt der das so durcheinander das statt backupnoty.txt dann einmal eine b datei wird bzw eine back datei dann irgendwann ne backupnoty.tx und irgendwann am ende die richtige datein nur da gehen seeeeehr viele zeilen verloren.

deswegen hab ich mir gedacht ich baue ein sleep ein. NUR wenn ich dies mache werden es z.B statt 38 kb nur noch 17 kb das heißt irgendwie findet hier auch ein datenverlust zusammen aber das script erstellt nicht 7 verschiedene datein ...

kann mir jemand pls helfen wie ich das beheben kann??

mfg danke im vorhinein
 

Ähnliche Themen

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Expect - Fehler in While

dovecot und postfix Konfiguration Problem

NagiosGrapher 1.7.1 funktioniert nicht

rsnapshot und ein Rechteproblem?

Zurück
Oben