honeybee
Goto Top

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:
#!/bin/sh
find /home/directory/ -type d -mtime +3 -exec rm -rf {} \; 2> /dev/null

Wisst ihr, woran es liegen kann?

Content-Key: 1164423518

Url: https://administrator.de/contentid/1164423518

Printed on: April 25, 2024 at 04:04 o'clock

Member: HanTrio
HanTrio Aug 17, 2021 at 10:10:14 (UTC)
Goto Top
"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
bash -x /path/to/script
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?
Member: honeybee
honeybee Aug 17, 2021 at 12:21:56 (UTC)
Goto Top
Zitat von @HanTrio:
Ansonsten, von welchen Unterschieden reden wir denn? Also im Sekundenbereich, oder schon eher Minuten?

Wir reden von Minuten. face-smile
Das Skript enthält nur ein einzelnes Command.
Mitglied: 149062
Solution 149062 Aug 17, 2021 updated at 15:26:17 (UTC)
Goto Top
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.
find /home/directory/ -type d -mtime +3 -exec rm -rf {} + 2>/dev/null
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 ...