#!/bin/bash -x
if [ -f /etc/yandex/environment.type ]; then
    ya_env=$(cat /etc/yandex/environment.type)
fi

keep_days="3"

if [ -f /etc/default/dt-log-arc ]; then
    . /etc/default/dt-log-arc
fi

# архивируем и удаляем старые логи
for i in /var/log/* /var/www/ppc.yandex.ru/protected/logs/*; do
    if ! [ -d "$i" ]; then
        continue
    fi

    find $i -type f -name '*.gz' -mtime +"$keep_days" -delete
    find $i -type d -regex '.*\/[0-9][0-9][0-9][0-9][0-9][0-9]$' -empty -delete

    if [ x"$i" = x"/var/log/yandex" ]; then
        for j in /var/log/yandex/* /var/log/yandex; do
            if ! [ -d "$j" ]; then
                continue
            fi
            if ! basename "$j" | grep -qP "^[a-zA-Z]+"; then
                continue
            fi

            # перловые логи архивируются в /etc/cron.d/yandex-direct
            /usr/local/bin/log_arc.pl --days-back 1 --num-processes 1 --logroot $j
        done
    fi

    # архивируем все остальное
    find $i -type f -mtime +1 -not -name '*.gz' | xargs gzip -q
done

# Нужно послать HUP rsyslog'у, чтобы он отпустил удаленные файлы
test -s /run/rsyslogd.pid && kill -HUP $(cat /run/rsyslogd.pid)
test -s /etc/sv/dt-monitoring-pushclient/supervise/pid && kill -TERM $(cat /etc/sv/dt-monitoring-pushclient/supervise/pid)
