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

suchen - finden - löschen in etc/crontab?

evilyves

Newbie
suchen - finden - löschen in etc/crontab?

Hallo ich würde gerne Dateien mit dem Namen .XY immer löschen lassen !

wie würde der Befehl in crontab aussehen ?

find / -name .XY | rm

ist das so korrekt? muss ich noch was beachten?

vorab danke ;-)
 

canis_lupus

Newbie
find / -name '.XY' -exec rm -f '{}' \;

Empfehlungen:

1) -type f -a -type l (nur Datein und Links)
2) / weiter einschränken (z.B. /home /tmp), da in einigen (z.B. /usr)
normalerweise nicht geschrieben wird
3) wenn Verzeichnisse: rm -f zu rm -rf
 

regexer

Advanced Hacker
evilyves schrieb:
P.S.: der zweite Befehl sieht echt krass aus ! :shock:
Den zweiten könnte man nehmen, wenn man außschließlich mit find arbeiten will oder wenn xargs nicht verfügbar ist. Das ist meines Wissens nach bei älteren LINUX-Systemen durchaus der Fall.
 

TeXpert

Guru
wobei zu bedenken ist, dass es zwischen den Lösungen einen kleinen aber gemeinen Unterschied gibt ;) das kann sich a/ in der Zeit oder b/ in Rekursionsproblemen äussern:

http://sunportal.sunmanagers.org/pipermail/summaries/2005-March/006255.html
 

canis_lupus

Newbie
Nach Lektüre des Links hier mal ein Vergleich (Verständlicherweise OHNE rm! :D ):

spider:~ # time find /etc -exec stat {} \; >& /dev/null

real 0m23.829s
user 0m10.726s
sys 0m11.686s
spider:~ # time find /etc -print0 | xargs -0 stat >& /dev/null

real 0m0.850s
user 0m0.526s
sys 0m0.270s
spider:~ #
 

regexer

Advanced Hacker
canis_lupus schrieb:
Nach Lektüre des Links hier mal ein Vergleich (Verständlicherweise OHNE rm! :D ):

spider:~ # time find /etc -exec stat {} \; >& /dev/null

real 0m23.829s
user 0m10.726s
sys 0m11.686s
spider:~ # time find /etc -print0 | xargs -0 stat >& /dev/null

real 0m0.850s
user 0m0.526s
sys 0m0.270s
spider:~ #
Interessant! Ich war bisher kein Fan von xargs, da dieser z.B auf SCO Unixware etwas anders funktioniert. Da kann zwar der xargs@Linux nichts dafür, aber man will nunmal doch so universell wie möglich scriptieren ...
 
Oben