Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » anderen host ansprechen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
15.04.2004, 08:48 Uhr
Cassandra_Komplex



Hallo!

Ich habe eine ganz einfache Frage.
Mal angenommen ich habe ein Linux-Netzwerk und möchte jetzt mit cp eine Datei von einem host auf den anderen kopieren (ohne ssh, ich will das per script machen!).
Z.B. befinde ich mich auf localhost und möchte die Datei 'my.cnf' die auf dem host 'pikachu' im Verzeichnis '/etc/' liegt auf den host 'obelix' in das '/etc/'-Verzeichnis kopieren.
Wäre es dann folgendermaßen richtig oder muß ich das anders machen?

cp pikachu.localdomain /etc/my.cnf obelix.localdomain /etc/

Ich bedanke mich im Vorraus falls mir jemand helfen kann,

mfg,
Cassandra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.04.2004, 10:48 Uhr
typecast
aka loddab
(Operator)


Der Befehl cp kann nicht über das Netzwerk kopieren, sondern nur auf dem Lokalen Host. Entweder du benutzt scp (wäre dann aber mit ssh), oder du schreibst einfach ein Script, dass untersucht, ob du lokal oder remote kopieren willst, und das ruft dann cp oder scp auf.
Syntax von scp wäre

Code:
scp dateiname user@host:/das/verzeichnis/wo/du/es/hinhaben/willst


oder wenn du won einem Host zu dir kopieren willst, dann

Code:
scp user@host:dateiname ./


Wenn user auf dem remote Host der gleiche ist wie der auf deinem lokalen Rechner, dann kannst du das user auch weglassen
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.04.2004, 10:52 Uhr
Cassandra_Komplex



Also wenn ich scp nur mit ssh benutzen kann wie soll ich das in einem script machen?
Das Ganze ist ein php-script, kein shell-script und wie soll ich über ein script eine ssh-Verbindung aufbauen? Oder muß ich das auch einfach so machen wie in der shell?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.04.2004, 10:55 Uhr
typecast
aka loddab
(Operator)


Ach du willst das ganze über php machen? Sag das doch gleich. Da hab ich leider keine Ahnung von.

Ich würde auch sagen, dass du bei den php-lern besser aufgehoben bist. PHP bietet da bestimmt Funktionen für an. Ich verschieb da mal hin.


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.04.2004, 11:01 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Du kannst mit php system Befehle ausführen system("scp...."); Wenn die Datei ganz normal per HTTP zu erreichen ist, gehts auch mit einem simplen Socket.

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.04.2004, 11:20 Uhr
Cassandra_Komplex



Den system() Befehl kenne ich, ich dachte bloß ich müßte dafür erst eine 'ssh-Verbindung' aufbauen und da wußte ich nicht wie das im script geht.
Wenn es wirklich so einfach ist, dann vielen Dank für die Hilfe!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.04.2004, 11:48 Uhr
Cassandra_Komplex



Also leider war es wohl doch nicht so einfach...

Ich poste mal den Code und den Output ich versteh es nämlich nicht!


PHP 4:
<?php

if ($argc != 4)
{
    die( "incorrect number of arguments, read the README-file first!\n" );
}
else
{
    list( ,$hostname,$DBname,$backupFile ) = $argv;

    $command = "mysql -p --host=".$hostname." ".$DBname."  < ".$backupFile;
    system($command);

    $command = "scp  ./my.cnf ".$hostname." /etc/";
    system($command);
}

?>



Output:

cp: cannot stat `./my.cnf': No such file or directory
cp: cannot stat `obelix': No such file or directory


Warum cp??? Ich hab doch scp angegeben, mit sync hab ich's auch schon versucht aber das ändert nichts, hat irgendjemand eine Idee was hier schief läuft???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.04.2004, 11:58 Uhr
typecast
aka loddab
(Operator)


1.) Existiert my.cnf denn überhaupt?
2.) $command = "scp ./my.cnf ".$hostname.":/etc/";
Der Doppelpunkt ist wichtig
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
15.04.2004, 12:03 Uhr
Cassandra_Komplex



Die my.cnf existiert im selben Verzeichnis wie das script, aber den Doppelpunkt habe ich wohl vergessen, danke. Ich probiers gleich mal nach dem Essen aus, vielen Dank!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
15.04.2004, 12:54 Uhr
Cassandra_Komplex



Also das scp scheint er jetzt zu schlucken (er fragt nämlich nach dem password für obelix), allerdings sagt er immer noch daß ./my.cnf nicht existiert. Es liegt aber ganz sicher im selben Verzeichnis wie das script und ich rufe das script auch von da aus auf, was ist das denn bloß?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: