Mam katalog z wieloma plikami dziennika, z których wszystkie chciałbym codziennie zmieniać. W celach organizacyjnych chciałbym móc przenieść obrócone dzienniki do innego katalogu (lub podkatalogu) o nazwie według daty, z zachowaniem ostatniego tygodnia dzienników.
Mogę użyć programu logrotate, aby osiągnąć większość tego, przemieszczając pliki w miejscu lub nawet przenieść je do jednego innego katalogu za pomocą olddir
dyrektywy, ale mam problem ze znalezieniem rozwiązania dla tworzenia poszczególnych podkatalogów na obrót. Jak mogę to osiągnąć ?:
Logs to rotate: /var/log/example/*
Desired target directories (keeping a week):
/var/log/example/20121006/*
[ ... ]
/var/log/example/20121012/*
postrotate
wystarczy. Jedyne, co muszę dodać, to wyczyszczenie starych katalogów, które są ponad określoną liczbę lub starsze niż określona data.find | xargs
Polecenie powinno usunąć wszystkie podkatalogi natychmiastowe/var/log/example
gdyby były ostatnio zmodyfikowano więcej niż 7 dni temu.Masz
olddir
dyrektywę, której możesz użyć w pliku konfiguracyjnym.Z dokumentacji:
Odniesienie : https://manpages.debian.org/jessie/logrotate/logrotate.8.en.html
źródło