Oft lösche ich die Protokolldatei vor 7 Tagen und verwende das Datum als Bedingung wie Rotation. Dieses Mal habe ich beim Drehen ein Bash-Sample erstellt, indem ich die Nummer angegeben habe.
Die Datei, die dieses Mal gedreht werden soll, ist Es wird im Format server.log gedreht. JJJJ-MM-TT.
/var/log/server.log #Neueste Datei /var/log/server.log.2020-03-25 /var/log/server.log.2020-03-24 /var/log/server.log.2020-03-23 /var/log/server.log.2020-03-22
#!/bin/bash
ROTATE_GEN=7 #Rotationserzeugung (diesmal 7 übrig)
LOG=/var/log/server.log #Zieldatei
#Dateien mit Datum speichern
mv ${LOG} ${LOG}.`date +"%Y-%m-%d"`
#Aktuelle Anzahl der Dateien(FILE_CNT) -Anzahl der Generationen(ROTATE_GEN)
# =Anzahl der zu löschenden Dateien(RM_CNT)
FILE_CNT=`ls -1t ${LOG}.* | wc -l`
RM_CNT=`expr ${FILE_CNT} - ${ROTATE_GEN}`
# RM_Löschen Sie so viele Dateien, wie CNTs vorhanden sind
if [[ $RM_CNT -gt 0 ]] ; then
ls -1t ${LOG}.* | tail -n ${RM_CNT} | xargs rm -f
fi