Как я могу правильно переопределить политики logrotate?

Здравствуйте, у меня такая же проблема. Я также получаю сообщение об ошибке «Код возврата 68», что я узнал, в «корневой» папке моего телефона есть 2 «системные папки»:

root@chip:/home/chip# obexftp -b 1C:39:47:XX:XX:XX -B 20 -c / -l
Connecting..\done
Tried to connect for 562ms
Sending ""...|done
Receiving "(null)".../<?xml version="1.0"?><!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"><folder-listing version="1.0"><folder name="PHONE_MEMORY"/><folder name="EXTERNAL_MEMORY"/></folder-listing>done
Disconnecting..-done

поэтому есть 2 дополнительных каталога: PHONE_MEMORY и EXTERNAL_MEMORY - внутренняя память и SD-карта, поэтому после установки правильной папки в ключ -c я получаю следующий успешный результат:

root@chip:/home/chip# obexftp -b 1C:39:47:XX:XX:XX -B 20 -c /PHONE_MEMORY/tmp -p /home/chip/setup.json
Connecting..\done
Tried to connect for 393ms
Sending ""...|Sending "PHONE_MEMORY".../Sending "tmp"...-done
Sending "/home/chip/setup.json"...\done
Disconnecting..|done
7
31.07.2017, 18:31
3 ответа

Прежде всего, я рекомендую использовать такой инструмент, какetckeeperдля отслеживания изменений в файлах в /etc; что позволяет избежать потери данных во время обновлений (среди прочих преимуществ ).

«Правильный» способ переопределения определений — это непосредственное редактирование файлов конфигурации; вот почему dpkgзнает, как обращаться с файлами конфигурации, и подсказывает вам, когда обновления вносят изменения. К сожалению, это не идеально, как вы обнаружили.

Чтобы действительно решить вашу конкретную проблему с конфигурацией, дружественным к Debian -способом, я бы предложил на самом деле регистрировать ваши почтовые сообщения в другом файле журнала и устанавливать , что , вlogrotate:

  • добавить новый файл конфигурации журнала в /etc/rsyslog.d, направив mail.*на новый файл журнала, например./var/log/ourmail.log(при условии, что вы используете rsyslog— измените соответствующим образом );
  • настройте /var/log/ourmail.logв новом файле конфигурации logrotate.

Поскольку это включает только добавление новых файлов конфигурации, проблем с обновлением не возникает. Существующие файлы журналов по-прежнему будут генерироваться и чередоваться с использованием конфигурации по умолчанию, но ваши файлы журналов будут следовать вашей конфигурации.

8
27.01.2020, 20:15

Как сказал Стивен, вы должны редактировать файлы конфигурации напрямую, но это не значит, что вы должны помещать туда свои пользовательские директивы.

Изменить /etc/logrotate.d/rsyslog, добавив в конец существующих директив всего одну строку, которая включает отдельный файл, содержащий ваши собственные директивы переопределения:

/var/log/syslog
{
       ... existing directives...

        include /etc/logrotate.d/override/rsyslog
}

Затем создайте файл переопределения, содержащий только директивы переопределения.:

/etc/logrotate.d/override/rsyslog

weekly
rotate 0

Вы по-прежнему должны быть внимательны при обновлении системы, но очень просто восстановить конфигурацию по умолчанию, предоставленную пакетами. :Достаточно добавить всего одну строку.

Для меня это приемлемый компромисс, так как, по крайней мере, он избавляет меня от ручного слияния различий при каждом обновлении системы, сохраняя при этом соответствие стандартам моей системы, ясность и понятность.

4
27.01.2020, 20:15

Давайте вернемся на минутку и подумаем о предупреждении об изменении файла конфигурации. Почему вы это понимаете и что это значит? Это хорошая вещь?

Debian в большинстве случаев поставляет файлы конфигурации по умолчанию, которые в основном делают то, что нужно. их можно изменить двумя способами: их изменяет администратор или упаковщик. Либо нормально и ожидаемо, но если и то, и другое, что правильно делать? В идеале оба должны внести одно и то же изменение и могут быть объединены, но даже это трудно сделать, и я никогда не видел, чтобы это происходило. В большинстве случаев вы хотите отметить изменения, внесенные упаковщиком, и принять их, объединить или отклонить построчно. На сегодняшний день существует только один способ сделать это в ограниченном виде, и это каталог фрагментов конфигурации, который позволяет легко добавлять дополнительные, но не изменять или удалять, и все еще не так полезен, как хотелось бы. в случае значительных изменений, поэтому примите предупреждение, возглавьте его и найдите время, чтобы сравнить изменения, чтобы вы могли поступить правильно.

Это сказано в вашем конкретном случае (, поскольку это незначительное изменение )Я бы отключил оскорбительный фрагмент (либо отменив все разрешения на чтение, перенаправив его или переименовав )и создав новый фрагмент с другое имя. Я также рекомендую использовать etckeeper, так как резервное копирование — это хорошо.

1
27.01.2020, 20:15

Теги

Похожие вопросы