Назад | Перейти на главную страницу

Базовая автоматизация

Я начинающий администратор сервера, недавно приобрел учетную запись на Slicehost.com и использую ее для размещения нескольких личных сайтов, поэтому я могу узнать больше (я в первую очередь веб-разработчик).

Много лет назад я помню, как играл с пакетными скриптами в Windows, которые позволяли мне автоматизировать некоторые базовые вещи. Есть ли что-нибудь подобное для Unix?

Я хотел бы автоматизировать настройку новых доменов в Apache2, поэтому в основном создаю каталоги, устанавливаю разрешения, создавая файл конфигурации в доступных сайтах, затем выполняю команду a2ensite и, наконец, перезапускаю Apache.

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

Спасибо!

Я предлагаю вам почитать о сценариях bash.

Несколько хороших ссылок:

Bash намного мощнее командного файла :)

Это определенно выполнимо. Все, что может быть выполнено с помощью серии команд в командной строке, можно поместить в сценарий bash и запустить оттуда.

Сценарий начинается с #! / Bin / bash или #! / Bin / sh (для sh вместо bash). После этого # запускает строку комментария. $ VARIABLE_NAME может использоваться для ссылки на переменную, установленную VARIABLE_NAME = foo.

Параметры командной строки можно получить, начиная с $ 1 ($ 0 - это имя вызванной программы).

поэтому, если вы хотите вызвать скрипт как script.sh new_site

у вас может быть script.sh выглядит примерно так

#! / bin / sh

mkdir / var / www / htdocs / new_site chmod 755 / var / www / htdocs / new_site ... перезапуск apachectl

то вам просто нужно запустить скрипт с достаточными разрешениями, фактически выполнить все команды.

Используйте sh -x для отладки (он будет выполнять пошаговый сценарий с большим количеством выходных данных, чтобы вы могли понять, что на самом деле происходит).

Вы также можете посмотреть на марионетку. Это немного излишне для отдельного сервера, но определенно рассчитано на такие вещи.