линуксовый logrotate то он переименовывает файлы с приставкой 1 в конце, но новые файлы не создает. И тнт перестает писать логи, пока не ребутнешь
покаж свой logrotate.conf для тарантула
{ daily size 1G missingok rotate 10 compress delaycompress postrotate /usr/bin/find /opt/recsys/cartridge/myapp/tmp/log/ -maxdepth 1 -mount -name * -mtime +7 -delete endscript }
postrotate должен содержать команду для таранула по переоткрытию лога tarantoolctl/tt/kill -HUP <PID> например: /usr/bin/tarantoolctl logrotate basename ${1%%.*}
Эта команда у меня не работает с cartridge. Я пробовал руками вызывать $ tarantoolctl logrotate myapp Instance myapp is not found in /etc/tarantool/instances.enabled
если я правильно помню, можно просто инстансу SIGHUP послать
Здесь должно быть имя конкретного инстанса, например myapp.router, т.е. команда такая: tarantoolctl logrotate myapp.router Если инстансов несколько, то и команд должно быть несколько
Проблема будет в этом Instance myapp.router is not found in /etc/tarantool/instances.enabled + если добавить новый репликасет или новый роутер то придётся править logrotate чтобы для каждого инстанса запускать в postrotate команду
Оригинальный logrotate от тарантула: /var/log/tarantool/*.log { daily size 512k missingok rotate 10 compress delaycompress create 0640 tarantool adm postrotate /usr/bin/tarantoolctl logrotate `basename ${1%%.*}` endscript }
спасибо. У нас был изначально отдельный инстанс тарантула и там так всё и настроено. Но cartridge это другая история
Обсуждают сегодня