#
# 'Команды' высокого уровня
#
all: aliases.done access.done reload_if_needed.done push
push: push.done
reload:
postfix reload
stop:
postfix stop
start:
postfix start
reload_if_needed.done: aliases.done access.done
postfix reload
touch reload_if_needed.done
clean:
rm — f
$(PDIR)/aliases.pag $(PDIR)/aliases.dir
$(PDIR)/access.dir $(PDIR)/access.pag
push.aliases.done push.access.done
reload_if_needed.done
#
# Инструкции для конкретных файлов,
# которым требуется индексация/регенерация
#
# Если aliases изменится, сгенерировать файлы. pag and.dir
aliases.done: $(PDIR)/aliases.pag $(PDIR)/aliases.dir
$(PDIR)/aliases.pag $(PDIR)/aliases.dir: $(PDIR)/aliases $(NEWALIASES)
# Если access изменится, сгенерировать файлы. pag and.dir
access.done: $(PDIR)/access.dir $(PDIR)/access.pag
$(PDIR)/access.dir $(PDIR)/access.pag: $(PDIR)/access $(POSTMAP) $(PDIR)/access
#
# Копирование
#
push.done: push.aliases.done push.access.done
ssh server2 'cd /etc && make'
touch $@
push.aliases.done: aliases.done
scp $(PDIR)/aliases server2:$(PDIR)/aliases
touch $@
push.access.done: access.done
scp $(PDIR)/access server2:$(PDIR)/access
touch $@
Этот
Такой
1. Отредактировать нужный файл.
2. Ввести команду make.
Команда
В мои стратегические планы входило создание нового главного сервера, который в конечном счете заменил бы все серверы, доставшиеся мне, так сказать, в наследство. Первоначально
Поскольку каждое изменение было незначительным и конкретным, я мог выполнять тестирование итеративно. Произведя буквально несколько сотен изменений, я добился того, что все серверы «пели в унисон». В этот момент мне не составило труда исключить старые главные серверы и поставить новый над всеми клиентами.
♠ Любой файл, автоматически копируемый на другие серверы, должен обязательно содержать в начале комментарий, информирующий других системных администраторов, откуда файл пришел и где его следует редактировать.
Вот комментарий, который я пишу:
# ЭТОТ ФАЙЛ СОПРОВОЖДАЕТСЯ НА СЕРВЕРЕ:
# server1.example.com
# Редактируйте его при помощи команды: xed file.txt
# Если вы отредактируете его на любом другом компьютере,
# он будет перезагружен. БУДЬТЕ ВНИМАТЕЛЬНЫ!
Поскольку в комментарии упоминается
Сложные задачи, выполняемые однократно
Автоматизация работы предполагает, что, выполняя нечто сложное, мы записываем последовательность действий. В этом случае повторить действия впоследствии много проще. Это как если