Cronjob Fragen

PERKELE

Commander Pro
🎅Rätsel-Elite ’23
Registriert
Sep. 2014
Beiträge
2.867
Guten Abend zusammen,

vorweg möchte ich euch mein Unterfangen erzählen.

Ich möchte diverse Cronjobs erstellen welche (logischerweise) mehrere Jobs durchführen.

Die Cronjobs betreffen zwei physikalische Server (Server A = Extern & Server B = Intern). Beide basieren auf Debian 9

So nun zu meinem Vorhaben:

Server A soll 1x die Woche; am Sonntag; um 2 Uhr; einen Ordner mit tar als bspw. download.tar "zippen" - Check das funktioniert.

Allerdings muss ich die Datei händich herrunterladen, da kommt Server B ins Spiel:

Server B soll die Datei "download.tar" per Cronjob, 1x die Woche; am Sonntag; um 8 Uhr; herrunterladen, das wollte mittels 'wget' kein Problem sein, jetzt kommt der eigentliche Punkt um den es mir geht.

Dieser Cronjob soll nachdem der Download abgeschlossen ist die Datei umbenennen (im Format des aktuellen Datums z. B.: 07_10_2017.tar) und in einen anderen Ordner verschieben.

Wie könnte ich das am besten lösen bzw. ist es überhaupt lösbar?

Ich danke für eure Hilfe, falls noch Fragen bestehen, fragt. :)


Viele Grüße,
Red-John
 
du könntest auf server b dann ein skirpt per cronjob starten das die datei "download.tar" umbenennt. einfach genügend zeit zwischen dem DL und dem umbenennen lassen.
 
Du bastelst dir einfach ein bash-Skript das den wget Part beinhaltet und das umbenennen + Verschieben an den gewünschten Ort.
Dann machst du das Bash-Skript ausführbar und bindest es als Cronjob ein.
 
Auf diese einfach Idee bin ich selbst nicht gekommen, ich danke euch. :)
 
Du kannst auch direkt wget sagen, wo es die heruntergeladene Datei hinschreiben soll:

Code:
PATH=path/to/$(date +%d_%m_%Y).tar
wget --output-document=$PATH meinserver/download.tar

Nicht ausprobiert, sollte aber so gehen.
 
Okay, das würde bedeuten, nicht die Datei würde umbenannt, sondern die Datei wird in den Ordner mit dem entsprechenden Datum verschoben.

Auch eine gute Idee, jedoch soll es nur einen Ordner mit den entsprechenden Dateien geben.
 
SERVER B:

Ich gehe davon aus das es über das Internet läuft.
Dann geht das so:

Für SERVER B:

nano crontab -e

dann schreibe das da rein (Jeden Sonntag um 8 Uhr wird es gestartet):

* 8 * * 0 /home/user/script_DL.sh


in script_DL.sh schreibst du das:

Code:
wget http://adresse.zum_download_dateiname +
mv dateiname path/'date +%d_%m_%Y.tar'

nicht vergessen das script mit chmod +x ausführbar zu machen:

also so:
chmod +x script_DL.sh


Nicht getestet sollte gehen.

Grüße
 
Ah, das sieht sehr interessant aus, damit sollte mein Luxus-"Problem" gelöst sein. Danke euch. =)
 
mensch183 schrieb:
Nach der Zweckentfremdung von $PATH wird die Shell wohl vergeblich nach wget suchen. :lol:

Autsch :D Ja, man sollte schon einen Namen wählen, der nicht "vorbelastet" ist...
 
Alternativ könnte man auch mal darüber nachdenken, die Dateien mit scp oder rsync zu kopieren, wenn sie nicht irgendwie der Allgemeinheit oder zumindest mehreren Leuten zur Verfügung gestellt werden sollen.
 
Zurück
Oben