
Ich habe Logrotate so eingerichtet, dass Protokolle 30 Tage lang archiviert werden. Wie richte ich meinen Cron-Job ein, um sie automatisch aus /var/log/net
dem Langzeitspeicher, auf dem ich sie bereitgestellt habe, herauszurotieren /mnt/backup
?
Ich muss den Namen beim Archivieren nicht verstümmeln.
BEARBEITEN:
Beispiel für die Benennung von Dateien... wireless.log-20120916.gz
... es gibt keinen festen Protokollnamen, dessen Schlüssel verwendet werden kann (was in der ersten Antwort von Nikolaidis Fotis angenommen wird)
Antwort1
Sie könnten eine zweite Logrotate-Konfiguration erstellen und als Postskriptum etwas wie
#!/bin/bash
LogDate=$(date +"%s")
mv /var/log/messages.1 /data/logs/local_backup/var/log/messages/messages.$LogDate
gzip /data/logs/messages.$LogDate
exit
wie hierhttp://www.ashishnepal.com/logrotate-and-move-to-backup-directory/
BEARBEITEN
Neuer Ansatz ...
/bin/find $path -mtime 29 -exec cp -p {} /newPath/ \;
Sie können es entweder über einen Cron-Job oder als Post-Processing in Logrotate ausführen.