Syntax Problem (Shellskript)

XioniX

Member
Hallo,

ich möchte per Skript alle Dateien verschieben, deren Dateiendung aus einer oder mehreren Zahlen besteht. Zunächst soll aber abgefragt werden, ob solche Dateien überhaupt existieren:
Code:
if [ -e /var/log/*.\[0-9\]+$ ] ; then
cp /var/log/*.[0-9]+$ logs_system
fi

leider funktionniert weder die if-Abfrage, noch die copy Funktion. Ich vermute aber, dass sich das nicht in einer Zeile lösen lässt.

Ich hoffe, ihr könnt mir helfen.

Gruß
 
Lass das $ weg und nimm statt dessen *.[0-9]*. Oder vielleicht find mit dem Parameter -regex.

Ansonsten ist es mehr oder minder unnötig, die Existenz solcher Dateien zuvor zu prüfen. `cp` kopiert einfach nichts, wenn es die Dateien nicht gibt.
 
Hallo,

naja, wenn eine solche Datei nicht existiert, dann wird nur ausgegeben, dass keine solche Datei existiert und das Skript läuft weiter.
Da das Skript per Cronjob aufgerufen werden soll, gibts ne Email, wenn etwas ausgegeben wird.

Ein "2> /dev/null" nach dem cp Befehl sollte wohl auch gehn.

Gruß
 
Back
Top