Ich würde gerne in einer .sh - Datei mehrere Befehler per Cronjob hintereinander ausführen.
Zunächst sollen Ordner in einer tar.gz gepackt werden.
Anschließend soll automatisch im Hintergrund die tar.gz an einem anderen Server mittels ssh hochgeladen werden.
Danach soll auf dem Start-Server die tar.gz gelöscht werden.
Meine .sh sieht aktuell so aus:
Code: Alles auswählen
#!/bin/bash
tar cfvz /bUP/serverbackup_`date +"%F"`.tar.gz / &
sleep 36000
sshpass -p 'PASSWORD' scp -r /bUP/* backupmaster@XXX.XXX.XXX.XX:/home/backupmaster/bUP &
sleep 36000
rm /bUP/serverbackup_`date +"%F"`.tar.gz
Einzeln in der Konsole ausgeführt funktionieren die Funktionen einwandfrei.
Als .sh ausgeführt macht er nach dem packen nicht weiter.
Die letzte Nachricht die beim "Testlauf" der .sh ausgeführt wird ist:
Bin im Sachen Bashes noch neu unterwegs und kenn mich daher nicht so gut mit der Thematik aus.tar: Beende mit Fehlerstatus aufgrund vorheriger Fehler
Die Sleep-Funktion soll bewirken dass der Server 10 Stunden wartet, bis er mit der nächsten Aufgabe weiter macht. Nicht dass mitten im Packen das Archiv schon geuploadet wird obwohl es noch nicht vollständig ist und nicht schon beim Upload gelöscht wird und dann am Zielserver mit Datenverlust ankommt.
Das schlaue Internet konnte mir auch nicht weiterhelfen. Borgbackup überträgt gar keine Infos an den anderen Server desweiteren wollte ich eigentlich schon die Möglichkeit haben die .tar.gz gelegentlich herunterzuladen um sie nochmals auf einer Festplatte zu sichern.