Алиас для /etc/init.d/… restart
Устал я писать каждый раз строки вида «sudo /etc/init.d/nginx restart» для перезапуска многочисленных серверов, поэтому сделал себе короткий алиас. Я бы не упомянул об этом, если бы не два отличия.
Во-первых, алиас я сделал не через команду «alias», так как не знаю как для неё подставить параметр не в конец, а в произвольное место (если это вообще возможно), во-вторых, я сделал добавление для автодополнения в bash (если кто-нибудь знает ссылку на хороший мануал по этой теме, напишите в комментариях, пожалуйста).
Вот что получилось (у меня это в .bashrc):
rst () { command sudo /etc/init.d/$@ restart; }
function _rst() {
local cur
cur=${COMP_WORDS[COMP_CWORD]}
if [ 1 -eq ${COMP_CWORD} ]; then
COMPREPLY=( $(compgen -f -- /etc/init.d/$cur | xargs -n1 basename -- ) )
else
COMPREPLY=()
fi
}
complete -F _rst rst
отвечу не в кассу, т. к. у меня винда =) перезапускаю примерно следующим образом, ибо просто командой перечитывать конфиги не хочет. Команда «nr» либо клик =) ибо тоже не люблю много печатать
@echo off
set _=C:\nginx
pskill nginx.exe
ping -n 2 127.0.0.1 >nul
rem обязательно в текущей папке запускать, по полному пути запуск лажает
%_:~0,2%
cd %_%
start nginx.exe
Комментарий для indeec17:
Если винда, можно использовать хороший PowerShell, а не плохой cmd :)
можно, разве что лень его ставить, т. к. у меня и так автоматизировано. например, перезапуск апача в случае его тупежа, перезапуск nginx в случае изменения конфига и т. д.
не силён в линуксах, но если cron может следить за изменением файлов как и виндовый nncron, то перезапуск nginx можно сделать слежкой за спецфайлом в шаре (smb). Если серверов для перезапуска 1000 шт., можно каждому на шару положить файл со специальным пустым (или нет) файлом, чтобы следящий за ним cron сделал что-нить и затем перезапуск nginx. Шары — как пример, можно дофига способов клиент-серверных придумать.
Комментарий для indeec17:
Я не один на сервере, поэтому перезапускать надо вручную.
Комментарий для Евгения Степанищева:
*sudo /etc/init.d/nginx restart*
ну кто так делает?
ps ax | grep master
kill -HUP <pid>
ну. можно конечно и в одну строку записать, но лень и все такое.
Комментарий для hshhhhh.name:
Это же ужас какой-то!
Во-первых, не надо так делать, есть специальные скрипты, которые прилетают вместе с пакетом.
Во-вторых, почему не killall -HUP nginx, если уж на то пошло.
А почему restart а не force-reload
Как бы sudo service nginx reload
1) service быстрее набирается чем череда из слешей.
2) reload — перечитывает конфиг без потери клиентов. В случае ошибки откатывается на старый.
Комментарий для agonych.livejournal.com:
Во-первых, не один nginx надо рестартовать, а restart есть у всех
Во-вторых, restart и force-reload у nginx алиасы
Комментарий для Александр Карпинский:
Когда-то давно, когда я переходил с Fedora на Ubuntu, я поискал команду service. То ли не нашёл, то ли она работала как-то не так, но я запомнил, что такой команды нет. Значит есть, буду знать.
Я знаю что такое reload, но меня это не заботит, на продакшне никто сервер руками не рестартует (кроме исключительных случаев), а на девелопменте мне нужен как раз restart, чтобы была одна команда на всё — измнение конфига, установку новой или альтернативной версии, сброс при утечках и т. д.
Комментарий для Александр Карпинский:
Не дописал, а уже отправил.
Кроме того, не один nginx надо рестартить («многочисленные сервера» в заметке это не «многочисленные nginx»), вот пример:
bolk-dev ~ $ service php5-fastcgi-init reload
Usage: /etc/init.d/php5-fastcgi-init {start|stop|restart|force-reload}
Комментарий для Евгения Степанищева:
А для Z SHELL этот скриптик покатит?
Комментарий для deerua:
Для zsh? Понятия не имею. Я его видел в последний раз году так в 1998-99.
Комментарий для Александр Карпинский:
Ага, мне наши рассказали, что это в Lucid появилось. А мы так давно на него перешли (ещё есть машины, которые на Hardy).
а я пишу так:
ctr-R + nix res + enter + enter
Комментарий для openid.yandex.ru/Zubchick/:
Я тоже так иногда делаю, только у меня в истории чего только не попадается с такими словами. Так что иногда приходится плевать и писать руками. Гораздо надёжнее иметь короткую команду.