in rsync cronjob Passwort mitgeben

Mac_Leod

Captain Pro
Registriert
Dez. 2001
Beiträge
3.957
Hi,

per Cronjob möchte ich ein kleines Skript ausführen was mit Rsync auf einen Server Daten zieht.

händisch ist ist es kein Problem diesen auszuführen:

rsync -av --bwlimit=1000 --rsh='ssh -pXXXX' root@Server :/home/ftp/* /Ziel (das Limit ist vorgeschrieben bei uns)

Nur möchte ich diesen alle 30 min ausführen.
Aber jedesmal wenn der Job ausgeführt wird, wird das Passwort abgefragt.

Es gibt im Netz verschiedene Anleitungen wie ich eine id_rsa.pk erstellen und diese auf dem Zielserver im .ssh Directory kopieren soll. Nur gibt es dieses Verzeichnis da nicht, wo muss denn der Key hin ?
Bzw kann ich nicht irgnedwie direkt das Passwort ins Skript schreiben und fertig ?

Ich bin in diesem Monat das erste mal mit Linux in Berührung gekommen, also bitte langsam :)


Grüße
 
Zuletzt bearbeitet:
Das Passwort im Klartext in den cronjob zu schreiben würde ich aus Sicherheitsgründen vermeiden wollen.

Die Schlüsselerstellung ist da sicher die bessere Idee.

Den fehlenden .ssh Ordner auf dem Server kannst du entweder selbst anlegen,
oder auch anlegen lassen, indem du VOM SERVER AUS eine ssh Verbindung zu irgendeinem anderen PC aufbaust. Im Zuge dessen wird der .ssh Ordner automatisch erstellt.
 
Habe das /.ssh unter dem Root selber angelegt.
Danach den Inhalt vom Public Key in die "authorized_keys" geschoben und siehe da der Job läuft, ohne extra Pw Abfrage.

Danke für die Hilfe

edit:

Mit welchem Befehl sehe ich denn, ob der Cronjob aktuell läuft?
Das wäre noch interessant.
 
Zuletzt bearbeitet:
im Zweifel hilft ps -ef | grep "TeilDesProgrammnamens", um aktuelle Prozesse kurz und schmerzlos zu überblicken.

Ansonsten: Lass den Cronjob doch was loggen und überprüf das Log, ob alles glatt ging.
 
Nur mal der Vollständigkeit halber - war in diesem Fall wohl nicht das Problem: das .ssh-Verzeichnis darf nur mode 500 oder 700 haben (d.h. für den Owner zugreifbar, nicht für die Gruppe, nicht für den Rest) - sonst verweigern die sshd in der Regel die Gefolgschaft
Die andere Möglichkeit eine solche Verbindung ohne Password zu bauen ist über einen rsyncd, dem man dann z.B. die Quell-IP-Adresse frei geben kann. Das eignet sich insbesondere, wenn nicht geheime Daten regelmäßig woanders hin repliziert werden sollen, z.B. das Backup eines Webservers.
Das Loggen geht am besten, wenn du in die Crontab hinter deinen Job ein >>/var/log/rsynccronjob.log schreibst.
 
Daaron schrieb:
im Zweifel hilft ps -ef | grep "TeilDesProgrammnamens", um aktuelle Prozesse kurz und schmerzlos zu überblicken.

Ansonsten: Lass den Cronjob doch was loggen und überprüf das Log, ob alles glatt ging.

jetzt habe ich doch echt "TeilDesProgrammnamens" eingetippt... o_O es ist noch zu früh :)

Mein erste Gedanke war, in das Minscript einfach noch eine Mailabfrage einzubauen "bei erfolgreicher Durchführung Mail an mich", aber da der Job aller 10 min läuft, ist das eher weniger zu empfehlen.
Ich habe deinem Rat nach einfach ein Log File mit eingebaut...läuft...

@Markus Wiesecke

Die rsyncd Vatiante teste ich gleich mal, danke
 
Hi,

wenn ich möchte das der cronjob auf jeden Fall nach 8 Minuten beendet wird (bzw das rsyncscript) wie gehe ich da vor ?
Bin ein wenig überfordert von den Google Ergebnissen... -.-
 
Zurück
Oben