CLI-Adventures: find
Der Befehl find
sollte tägliches Handwerkszeug des SysAdmins sein. Hier ein paar Beispiele aus der Praxis:
Älter als...
find . -name "*.zip" -mtime +14 -ls | awk '{total += $7} END {print total}'
Finde alle ZIPs älter als 14 Tage und gebe die Gesamtgröße aus## Größer als... ##
find / -size +10240000c -exec du -h {} \;
Finde alle Dateien größer 10240000 bytes## Lösche Typ... ##
find /media/cifs/archiv/ -name "*.sbk" -exec rm {} \;
Lösche alle Swishmax-Backupfiles aus dem "Archiv"## Finden und ausgeben... ##
find /media/cifs/verwaltung/6\ Brücke\ für\ Daten/ -mtime +14 -print | awk -F/ '{ print substr($0, index($0,$6)) }'
Finde alle Dateien älter als 14 Tage (modify date) und gib den Pfad und Namen aus (ab dem 5. /)## Suchen und Ersetzen ##
find /var/www/html/ -name ".htaccess" -exec sed -i 's/oldpassword/newpassword/' {} \;
Sucht in allen .htaccess
-Dateien unterhalb von ''/var/www/html/'' nach dem String ''oldpassword'' und ersetzt es durch ''newpassword''.## Verzeichnis- und Dateirechte für das Archiv ##
Werden Dateien/Verzeichnisse, unter Umgehung des Samba-Servers, in das Archiv (''/media/share/archiv/'') kopiert müssen die Datei und Verzeichnisrechte neu gesetzt werden:
chmod 550 /media/shares/archiv/1\ Abgeschlossene\ Projekte/ -R
find /media/shares/archiv/1\ Abgeschlossene\ Projekte/ -type d --exec chmod 750 {} \;