mit System(echo...) in eine Datei schreiben - Datei bleibt leer

PsychoMantis

Aktives Mitglied
Mitglied seit
18 Dez 2005
Beiträge
2,542
Punkte für Reaktionen
10
Punkte
38
Ich hätte mal eine andere Frage. Ist hier OT, aber passt nirgends so richtig rein.

[edit rentier-s: deshalb von hier abgetrennt]

Ich führe auf meiner OpenWRT-Shell aus:
Code:
ssh -y -i /root/.ssh/id_rsa root@ipmeinesvservers 'echo bar' > /root/test
Erwartungsgemäß erhalte ich in /root eine Datei namens test mit dem Inhalt bar.
Wenn ich im Dialplan in der extensions.conf das gleiche mache, also
Code:
System(ssh -y -i /root/.ssh/id_rsa root@ipmeinesvservers  'echo bar' > /root/test)
dann wird auch /root/test erstellt, allerdings bleibt die Datei leer. Warum bloß?
Auf diese Weise würde ich gerne den einen oder anderen Wert aus meinem Vserver auslesen um ihn lokal auf dem GSM-Gateway (= alix-board mit openwrt) auszuwerten.
Hat jemand Ideen, warum das so nicht geht?
 
Zuletzt bearbeitet von einem Moderator:
Vielleicht hilft Dir ein anderes Beispiel.
Schreibe ich an meinem Asterisk aber nur lokal:

exten => h,n,system(echo -e "context=isdn_work" >> /usr/spool/asterisk/voicemail/${MSGFILENAME1}.txt)
 
Das Thema scheint mit Asterisk nichts zu tun zu haben. Es schein irgendein ssh-Problem zu sein.
Wenn ich meinen SSH-Befehl in der Shell eingebe, dann passt ja alles. Nur wenn ich den Befehl im Dialplan vom Asterisk quasi "ausführen lasse", dann landet die Ausgabe irgendwo im Nirvana und nicht da wo ich sie haben will. Mit allen diesen Parametern habe ich es schon versucht:
Code:
root@OpenWrt:~# ssh
Dropbear client v0.53.1
Usage: ssh [options] [user@]host[/port] [command]
Options are:
-p <remoteport>
-l <username>
-t    Allocate a pty
-T    Don't allocate a pty
-N    Don't run a remote command
-f    Run in background after auth
-y    Always accept remote host key if unknown
-s    Request a subsystem (use for sftp)
-i <identityfile>   (multiple allowed)
-A    Enable agent auth forwarding
-L <[listenaddress:]listenport:remotehost:remoteport> Local port forwarding
-g    Allow remote hosts to connect to forwarded ports
-R <[listenaddress:]listenport:remotehost:remoteport> Remote port forwarding
-W <receive_window_buffer> (default 24576, larger may be faster, max 1MB)
-K <keepalive>  (0 is never, default 0)
-I <idle_timeout>  (0 is never, default 0)
-J <proxy_program> Use program pipe rather than TCP connection
root@OpenWrt:~#
Gibt es irgendwelche Parameter, mit denen man noch rumspielen kann?

Lösung: statt Dropbear einfach openssh-client verwenden!
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,859
Beiträge
2,303,049
Mitglieder
378,512
Neuestes Mitglied
DominicBu