Сценарий для изменения logrotate конфигурационных файлов?

Любая книга, которая говорит о языке тела. т.е. как обнаружить, что этот клиент не хочет эту штуку.

2
задан 15 September 2009 в 14:16
2 ответа

Augeas является инструментом для этого, но он имеет довольно крутую кривую обучения. Вот то, как установить /var/log/wtmp вращаться еженедельно (некоторые /etc/logrotate.conf обрезанный для краткости):

[root@dev ~]# cat /etc/logrotate.conf 
# trimmed

# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    minsize 1M
    create 0664 root utmp
    rotate 1
}

[root@dev ~]# (echo "set \
  /files/etc/logrotate.conf/rule[file='/var/log/wtmp']/schedule weekly"; \
  echo save) | augtool
Saved 1 file(s)

[root@dev ~]# cat /etc/logrotate.conf 
# trimmed

# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    weekly
    minsize 1M
    create 0664 root utmp
    rotate 1
}

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

Augeas также соединяется приятно с Марионеткой для создания очень мощной системы управления конфигурацией.

2
ответ дан 3 December 2019 в 12:25
  • 1
    Это - немного более тяжелый вес, чем I' d как, но it' s LGPL, таким образом, it' s действительно применимый. Если я don' t получают более легкий ответ, I' ll, вероятно, идут с ним. –  Michael Kohne 15 September 2009 в 17:27

В дополнение к ответу markdrayton я бы добавил, что Augeas теперь можно использовать в качестве интерпретатора, так что вы можете написать исполняемый скрипт со следующим содержанием:

#!/usr/bin/augtool -f
set /files/etc/logrotate.conf/rule[file='/var/log/wtmp']/schedule weekly
save

и выполнить его. Вы даже можете сделать его короче, используя опцию автосохранения ( -s ):

#!/usr/bin/augtool -sf
set /files/etc/logrotate.conf/rule[file='/var/log/wtmp']/schedule weekly
0
ответ дан 3 December 2019 в 12:25

Теги

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