Hallo zusammen.
Bin noch absolut neu in der Materie und bastle an einer einfachen Lösung für folgendes Problem: Ich möchte ein Shell-Script schreiben, dass von einem Live-Server ein Backup der zuletzt erstellen Datenbank auf den Dev kopiert. Das ganze versuche ich mit Parametern zu lösen und dem rsync, doch leider werden immer alle Dateien kopiert.
Der Befehl soll so aussehen:
./copy [PATH1] [PATH2]
Das ganze habe ich jetzt mal lokal getestet und folgendes geschrieben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # !/bin/bash PATH1=$1 PATH2=$2 if [[ $# -eq 2 ]]; then echo "Verzeichnisse:" echo "Von: $PATH1" echo "Nach: $PATH2" cd $PATH1 echo "Neuste Datei:" ls -t | head -n1 rsync -av --progress $PATH1 $PATH2 else echo "Fehler: Bitte QUELL- und ZIEL-Verzeichnis angeben!" echo "" echo "Benutzung: $0 [PATH1] [PATH2]" exit fi |
Wie ich die letzte Datei ausgebe, habe ich rausgefunden, aber diese dann auch auszuwählen und zu kopieren ist mir noch ein Rätsel. Bisher werden immer alle Dateien aus dem Quellverzeichnis ins Zielverzeichnis kopiert.
Hoffe ich habe den richtigen Bereich für das Thema gewählt. 😇
Danke für eure Hilfe ☺
Eddy1015
[EDIT] Meine Idee wäre jetzt, die "ls -t | head -n1"-Abfrage in eine Variable umzuleiten und diese dann in einen include-Parameter zu setzen. Könnte das klappen?