
benötigt: opt_cron (1.6.x) bzw. opt_easycron (2.x)
Angeregt von Wunsch #332 auf der fli4l-Wunschliste stelle ich hier meine kleine Bastellösung vor, damit fli4l jeden Tag (oder eine andere frei bestimmbare Zeitspanne) in ein neues Logfile schreibt und die alten Logfiles mit Datum ablegt.
Zuerst muß man (mein) opt_(easy)cron installieren.
Als nächstes erstellt man eine Datei mit z.B. folgendem Namen logrotate-syslog.sh
cp [hier kommt der Pfad des Logfiles rein - siehe config.txt plus Logfilename] [wieder der Pfad]$(date +[Logfilename]_%Y-%m-%d_%H-%M-%S); echo -n > [pfad+name]
Diese legt man dann in opt/usr/local/mybin/logrotate-syslog.sh bzw. opt/files/usr/local/mybin/logrotate-syslog.sh ab.
Bei mir sieht das dann so aus:
cp /platte/log/syslog /platte/log/$(date +syslog_%Y-%m-%d_%H-%M-%S); echo -n > /platte/log/syslog
Dann gibt man in der config.txt zum opt_cron folgendes ein
#------------------------------------------------------------------------------ # Optional package: CRON #------------------------------------------------------------------------------ OPT_CRON='yes' # cron: yes or no CRON_N='1' # cron: Anzahl CRON_1_COMMAND='/usr/local/bin/logrotate-syslog.sh' # cron: Befehl CRON_1_TIME='59 23 * * *' # cron: Zeitpunkt: min h Tag Monat Wochentag
#------------------------------------------------------------------------------ # Optional package: EASYCRON #------------------------------------------------------------------------------ OPT_EASYCRON='yes' # EASYCRON: yes or no EASYCRON_NOMAIL='yes' # EASYCRON: yes or no - Mail von cron unterdrücken EASYCRON_N='1' # EASYCRON: Anzahl EASYCRON_1_CUSTOM='' # EASYCRON: eigene Einstellungen wie Umgebungsvariablen EASYCRON_1_COMMAND='/usr/local/bin/logrotate-syslog.sh' # EASYCRON: auszuführender Befehl EASYCRON_1_TIME='59 23 * * *' # EASYCRON: Zeitpunkt: min h Tag Monat Wochentag
Wichtig: Obwohl Ihr die Datei in .../mybin ablegt, liegt die Datei auf dem Router nachher in .../bin!
Klicken Sie hier, um die Seite auszudrucken.