• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Bedingung

3x3cut3r

Newbie
Wäre das so richtig:

if (find /srv/www/htdocs/web1/html/xml/*.zip -mmin +1) ; then
echo "zip gefunden"
exec find /srv/www/htdocs/web1/html/xml/*.zip -mmin +1 cp /srv/www/htdocs/web1/html/xml/*.zip /xml_pha/test \
else
echo "keine zips"
endif;

Wenn nicht, könnte das mir denn jemand berichtigen, weil ich habe eigentlich keine ahnung von linux.
 
OP
3

3x3cut3r

Newbie
wenn der benutzer sich per ftp anmeldet und das zip file hochlädt,soll es danach automatisch aus seinem root ordner in ein transport verzeichnis verschoben werden. und das ganze soll per cronjob gesteuert werden
 
A

Anonymous

Gast
3x3cut3r schrieb:
if (find /srv/www/htdocs/web1/html/xml/*.zip -mmin +1) ; then
echo "zip gefunden"
exec find /srv/www/htdocs/web1/html/xml/*.zip -mmin +1 cp /srv/www/htdocs/web1/html/xml/*.zip /xml_pha/test \
else
echo "keine zips"
endif;


So funktioniert da nix.
1. richtig IF-Verzweigung
Code:
if
then
-----
else
-----
fi

2. Deine eigentliche Arbeitszeile ist Schrott :
richtiger so was hier
Code:
 find /VERZEICHNIS1 -mmin +5 -name "*.zip" -exec mv {} /VERZEICHNIS2 \;

3. bei dir logischer Fehler, du "versuchst" zu kopieren was länger als 1 Minute nicht geändert wird. (Besser sind wohl 5 Minuten, aber egal) aber deine Dateien bleiben stehen, und würden desshalb immer und immer wieder kopiert, jedes mal wenn das Script aufgerufen würde.
Besser ist Verschieben.

4. Die if Verzeigung würde ich komplett sein lassen, die müllt dir nur das Postfach zu, und übrigens : noch mal etwas mit der Doku von cron beschäftigen, oder hier im Forum danach suchen, so hier besteht evtl. die Möglichkeit, das da über cron nix geht, auch wenn es von Hand gestartet funktioniert.

robi
 

regexer

Advanced Hacker
robi schrieb:
4. Die if Verzeigung würde ich komplett sein lassen, die müllt dir nur das Postfach zu, und übrigens : noch mal etwas mit der Doku von cron beschäftigen, oder hier im Forum danach suchen, so hier besteht evtl. die Möglichkeit, das da über cron nix geht, auch wenn es von Hand gestartet funktioniert.
Wenn man auf den "echo zip gefunden" wert legt, kann mach auch den Returncode des find-Befehls abfragen. In etwa so:
Code:
find ...
if [ $? -eq 0 ]
then
  echo zip gefunden
else
  echo keine zips
fi
übrigens kann man dem find ein "-type f" anhängen. So findet man keine Verzeichnisse, die auf ".zip" enden, sondern nur "normale" Dateien.
 
Oben