Гм... динамично изменение имени хоста сервера, вероятно, заставит очень многих системных демонов неправильно функционировать, и часто способами, которые не сразу очевидны. O/S ожидает, что имя хоста будет установлено, когда система будет установлена, и останьтесь неизменными. hostname
почти всегда проверяется только однажды на запуске процесса. Существуют другие способы переключить версии на лету однако...
Самое легкое должно установить уровень абстракции с помощью символьных ссылок...
Вам не нужны два сервера для этого. Вместо этого на том же уровне каталога как "домашний" каталог веб-сайта (т.е. /var/www
, hosted/server/html
, и т.д.), создают каталог для каждой версии сайта как в...
.../
.../v1.0
.../v1.1a
.../v1.1b
:
v1.1a
и v1.1b
будет Ваше "ЖИВОЕ" чередование и "ТЕСТ".
Здесь прибывает косвенность...
Создание символьных ссылок очень быстро, таким образом, можно, вероятно, воссоздать их, когда Вы хотите подкачать версии с сайтом при легкой загрузке без слишком большого разрушения.
Услуга хостинга, на которой я основываю это, требует, чтобы веб-сайт "домашний" каталог был "HTML" как в...
/home/group/subgroup/myuserid/html
Таким образом, мы переименовываем html
каталог сервис дает нам каталогу версии как v1.1a
и создайте символьную ссылку на названный html
.
С нашим набором символьных ссылок список каталогов мог бы быть похожим...
.../
.../TEST -> v1.1b
.../html -> v1.1a
.../v1.0
.../v1.1a
.../v1.1b
После внесения изменений в файлы веб-сайта в .../v1.1b
каталог, мы запускаем скрипт, который удаляет (Ubuntu имеет более безопасное unlink
команда), и воссоздает символьные ссылки с "HTML" и "ТЕСТОМ", подкачанным как в...
.../
.../TEST -> v1.1a
.../html -> v1.1b
.../v1.0
.../v1.1a
.../v1.1b
Надеюсь, это поможет.
16.02.2013 дополнительное 18:15:12 EST...
Сегодняшнее исследование показывает, что существует большое конфликтующее мнение об этом, это кажется.
Мой собственный опыт прибывает из пребывания в течение большого количества времени, восстанавливая Xwindows и Ubuntu "zeroconfig" функциональность после изменения имени хоста, как несколько моих примечаний от инцидента указывают...
Сеть
Основной вопрос, с которым встречаются, имеет отношение к команде 'имени хоста'.
SSH теперь отправляет FQDN вместо просто имени хоста, таким образом,/etc/hosts.allow должен быть изменен от...
ВСЕ: ЛОКАЛЬНЫЙ
кому..
ВСЕ: ЛОКАЛЬНЫЙ *.DORIS
Выборка из http://www.oldapps.com/linux/ubuntu.php?old_ubuntu=35?changelog...
'Avahi будет всегда запускаться, даже если будет присутствовать .local домен. Пакет avahi-демона, который реализует стандарт mDNS "zeroconf", раньше включал проверку, чтобы не работать, когда конфликт .local домен DNS присутствует, поскольку сообщалось, что некоторые ISPs рекламируют такой .local домен в своих сетях, оставляя хосты Ubuntu не могущими видеть имена, рекламируемые в локальной сети (327362). В Ubuntu 9.10 avahi-демон запускается независимо. Возможно, что это может вызвать другие проблемы. Если Ваша сеть настроена этот путь, можно отключить mDNS использование следующей команды':
sudo останавливают avahi-демона sudo sed-e '/^start/, + 1s/^/# /'/etc/init/avahi-daemon.conf
Несколько соответствующих статей...
Около конца Имени хоста Linux Конфигурация является обсуждением соображений Xwindow
Этот technote из IBM.com на "Эффекте изменения IP-адреса или Имени хоста на сервере Компонента ITM" является хорошим примером махинаций, часто требуемых вернуть все в синхронизации после изменения имени хоста.
Чтобы иметь возможность выполнять как ./ disk.py
, вы нужны две вещи:
#! / usr / bin / env python
chmod + x disk.py
Как упомянул @SHW, вопрос на самом деле касается выполнения программы python в сценарии оболочки (без запуска сценария python напрямую с помощью./disk.py
)
Таким образом, расширяя ответ @SHW, ваш сценарий оболочки должен выглядеть примерно так:
#!/bin/bash
/usr/bin/python /absolute/path/to/your/disk.py
Обратите внимание на /usr/bin/python
вместо просто python
; использование абсолютных путей помогает сценарию точно знать, какой python использовать (, чтобы найти абсолютный путь к вашему установленному python usewhich python
).
Та же история с использованием абсолютных путей в скрипте Python вместо простого disk.py
. В моем случае я пытался запустить приложение Django из своего сценария bash, поэтому мне пришлось добавить абсолютный путь к моему manage.py
, чтобы оно работало правильно.
Кроме того, что касается заголовка вашего bash-скрипта, есть несколько альтернатив #!/bin/bash
. Пожалуйста, взгляните на этот вопрос, чтобы узнать больше об этом.
Удачи.