• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

scp (privateKey) script

Ich möchte mit einem Host via Private-Key und ssh eine verbindung aufbauen, eine bestimmte Datei hochkopieren (auf den anderen Server), und die Verbindung wieder schließen. Dies alles automatisiert via Cronjob.
Eigentlich sollte noch eine Datenbank abgefragt werden, ob sich bestimmte datensätze geändert haeb, und diese dann in eine CSV-Datei geschrieben werden.

Hat jeman eine Idee, wie ich da am besten vorgehe?
 
A

Anonymous

Gast
Ich verstehe nicht ganz wo ist das Problem.
zuerst musst du dafür sorgen das du dich als der entsprechende User@Host per ssh ohne Passwort anmelden kannst. http://www.linupedia.org/opensuse/Einrichten_von_public_keys_mit_ssh

Dann schreibst du ein Script für den Cron und legst es bei dem entsprechenden User ~/bin/scriptname.sh ab.
In diesem Script sollte schon ausreichen
Code:
/usr/bin/scp /path/zur/datei/datei.name user@host:/path/zur/Datei/neuerdatei.name
oder anderes herum, wenn du vom entfernten Server eine Datei auf den localen Rechner holen willst.

dann mittels "contab -e" deine crontab erstellen, (hier im Beispiel wird jede Minute gestartet)
Code:
*/1 * * * * /home/username/bin/scriptname.sh
fertig.

Wenn du auf dem anderen Server noch weitere Dinge in diesem Script erledigen willst, dann ist scp nicht das Richtige, dann einfach in der nächsten Scriptzeile noch mittels ssh dort deinen Befehl ausführen lassen. Je nachdem wie lang und kompliziert die Aufgabe wird, und wo du letztlich die Ausgaben speichern oder hinschreiben willst, kann es auch günstig werden dafür auf dem remoteHost ein eigenes Script zu schreiben, das dann über ssh remote starten. könnte zB so hier aussehen wenn du das Ergebnis local speichern willst.
Code:
/usr/bin/ssh user@host "remote-Befehl Optionen" > /path/zur/localen/logdatei.txt

robi
 
Oben