Skript für das automatische Löschen von Ordnern
Hallo,
ich habe ein Skript erstellt, welches Ordner, die älter als 3 Tage alt sind (Erstelldatum), automatisch löschen soll. Wenn ich das Skript ausführe, dauert es sehr lange, bis es vollständig ausgeführt wurde. Führt man die Befehle manuell aus, geht es schneller.
Hier ist das Skript:
Wisst ihr, woran es liegen kann?
ich habe ein Skript erstellt, welches Ordner, die älter als 3 Tage alt sind (Erstelldatum), automatisch löschen soll. Wenn ich das Skript ausführe, dauert es sehr lange, bis es vollständig ausgeführt wurde. Führt man die Befehle manuell aus, geht es schneller.
Hier ist das Skript:
#!/bin/sh
find /home/directory/ -type d -mtime +3 -exec rm -rf {} \; 2> /dev/null
Wisst ihr, woran es liegen kann?
Please also mark the comments that contributed to the solution of the article
Content-Key: 1164423518
Url: https://administrator.de/contentid/1164423518
Printed on: April 25, 2024 at 04:04 o'clock
3 Comments
Latest comment
"Die" Befehle (also Plural)? Ich sehe da erstmal nur einen (bzw. zwei, also find + rm).
Grundsätzlich ist es ja logisch, dass ein Script, welches mehrere Befehle beinhaltet, länger dauert, als ein einzelnes Command ;) wenn das bei dir der Fall sein sollte.
Grundsätzlich könntest du das Script mal mit
ausführen, da bekommst du den Output des Scripts "live" mit (inkl. Einsetzen / Interpretation von Variablen, etc).
Evtl ist da ersichtlich, an welcher Stelle es ggf. hakt.
Ansonsten, von welchen Unterschieden reden wir denn? Also im Sekundenbereich, oder schon eher Minuten?
Grundsätzlich ist es ja logisch, dass ein Script, welches mehrere Befehle beinhaltet, länger dauert, als ein einzelnes Command ;) wenn das bei dir der Fall sein sollte.
Grundsätzlich könntest du das Script mal mit
bash -x /path/to/script
Evtl ist da ersichtlich, an welcher Stelle es ggf. hakt.
Ansonsten, von welchen Unterschieden reden wir denn? Also im Sekundenbereich, oder schon eher Minuten?
Als erstes prüf mal dein Shell Profil-Script was da an Befehlen drin steht.
Dann eine Anmerkung zum Script
Du erzeugst für jeden Ordner der zutrifft eine eigene Shell schneller wäre es indem man rm alle zutreffenden Ordner auf einem Rutsch übergibt.
Und fürs Debugging erst mal das 2>/dev/null weg lassen dann siehst du auch evt. Fehler und wohlmöglich auch warum es so lange dauert ...
Dann eine Anmerkung zum Script
Du erzeugst für jeden Ordner der zutrifft eine eigene Shell schneller wäre es indem man rm alle zutreffenden Ordner auf einem Rutsch übergibt.
find /home/directory/ -type d -mtime +3 -exec rm -rf {} + 2>/dev/null