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:
1
2
2
#!/bin/sh
find /home/directory/ -type d -mtime +3 -exec rm -rf {} \; 2> /dev/null
Wisst ihr, woran es liegen kann?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1164423518
Url: https://administrator.de/forum/skript-fuer-das-automatische-loeschen-von-ordnern-1164423518.html
Ausgedruckt am: 17.04.2025 um 19:04 Uhr
3 Kommentare
Neuester Kommentar
"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
1
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.
1
find /home/directory/ -type d -mtime +3 -exec rm -rf {} + 2>/dev/null