Auf einem Webhosting-Server hat jeder Benutzer (von Hunderten) ein E-Mail-Konto test@(ihre_Domäne)
Ich möchte sie alle mit einem Bash-Skript löschen, kann so etwas aber nicht schreiben.
Im Wesentlichen möchte ich durchqueren /home/*/mail/*
und rm -rf /home/*/mail/*/test
wenn es existiert
Kann mir jemand helfen?
Antwort1
Die Skriptlösung bestand darin, einige andere Skripte zu analysieren, um mehr zu erfahren, und am Ende verwendete ichfind /home/*/mail/* -name "smtp" -exec rm -rf {} \;
Ich habe viel gelernt... wenn Sie die Antwort nicht selbst gewusst hätten, schauen Sie nach, was der Unterschied ist, ob Sie das Skript mit einem +
oder einem beenden.;
Dies hat mein Problem jedoch nicht gelöst, da, wie Gerald Schneider in den Kommentaren anmerkt, nur die Datendatei gelöscht wird. Ich muss stattdessen cpanels /scripts/delpop verwenden.
Das Ergebnis ist jedoch find /home/*/mail/* -type d -exec /scripts/delpop smtp@{} \;
eine Glättung wie /scripts/delpop smtp@/home/example/mail/example.com
diese, die offensichtlich nicht funktioniert. Vielleicht sollte dies eine andere Frage sein, aber ich werde die Antwort hier posten, wenn ich sie herausgefunden habe.