Ich bin auf der Suche nach einem Cron-Job, der ein Verzeichnis öffnet Schleifen durch alle Protokolle, die ich erstellt habe und löscht alle Zeilen, aber behalten Sie die letzten 500 zum Beispiel.Bash Datei bearbeiten und die letzten 500 Zeilen behalten
Ich wurde nach dem Vorbild der
an etwas gedachttail -n 500 filename > filename
Würde das funktionieren?
Ich bin mir auch nicht sicher, wie man ein Verzeichnis in bash durchläuft.
Die anderen Antworten, aber Ihre Probe 'tail' Linie führt wie this: 1) Die Shell öffnet den Dateinamen für die Ausgabe und schneidet sie auf Null Länge 2) Schwanz läuft, sieht eine leere Datei und 3) schreibt nichts in den jetzt leeren Dateinamen. Die Antwort von MYYN zeigt, wie man das vermeidet, aber selbst das bombardiert, wenn 'tail' auf einen Fehler trifft. Erfinden Sie das von tanascius empfohlene logrotate nicht neu. – msw