test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Ich möchte logrotate implementieren, um die Größe der Protokolldatei zu steuern. Wie kann ich das logrotate implementieren, wenn die oben beschriebene Situation vorliegt?
cp
undmv
die Protokolldatei entfernen, wird es dann eine neue Protokolldatei mit demselben Namen sein? (Wenn die Protokolldatei eine bestimmte Grenze erreicht, möchte ich diese Protokolldatei entfernen und anschließend eine neue Datei erstellen )>>
, um an die Protokolldatei anzuhängen. Sie>
wird immer wieder überschrieben.>
, erhalte ichtail: test.log: file truncated Hello World!
... Wenn ich verwende>>
, erhalte ich die richtige Protokollmeldung, aber die Dateigröße nimmt zu. Keine Bedingung Überprüfung der Bedingung ... ;-(wie wäre es mit
savelog
?Es ist in Debian und RH und so ziemlich jeder anderen mir bekannten Linux-Distribution verfügbar. Es ist ein / bin / sh-Shell-Skript, sollte also auch auf jedem anderen Unix laufen.
zB bevor etwas geschrieben wird um zu
test.log
laufensavelog -n -c 7 test.log
. Dadurch bleiben die 7 neuesten nicht leeren Versionen von test.log erhalten. Standardmäßig werden gedrehte Protokolle komprimiert (dies kann jedoch mit deaktiviert werden-l
).Bei Bedarf können Sie die Größe von
test.log
und nursavelog
dann überprüfen , wenn sie über einer bestimmten Größe liegt.quelle
/usr/bin/savelog
Shell-Skript unter sources.debian.net/src/debianutils/4.7savelog
auf keiner meiner RHEL / CentOS 5/6-Boxen etwas gefunden, also habe ich es nur ad hoc heruntergeladen und es scheint für meine Bedürfnisse in Ordnung zu sein.savelog
ist, dass die Datei umbenannt wird, es dann aber lange dauert, bis die alten gzip-Dateien fertig sind. In der Zwischenzeit erhält das .0-Protokoll bereits Einträge für die nächsten Tage. Im Idealfall sollte die Zeit zwischen der Rotation des Protokolls und dem Signalisieren des Prozesses zum erneuten Öffnen des Protokolls minimal sein. Ich deaktivieresavelog
die Komprimierungsfunktion deswegen.Ich habe an diesem Wochenende einen Logrotee geschrieben . Ich würde es wahrscheinlich nicht tun, wenn ich die großartige Antwort von
multilog
@ JdeBP gelesen hätte .Ich habe mich darauf konzentriert, dass es leichtgewichtig ist und in der Lage ist, seine Ausgabestücke wie folgt zu bzip2:
Es gibt jedoch noch viel zu tun und zu testen.
quelle
Da ich der akzeptierten Antwort noch keine Kommentare hinzufügen kann , ein BusyBox- Hinweis, bei dem
du
kein-b
Flag vorhanden ist:quelle