выполнитесь удар на локальной машине, чтобы сделать продолжают работать удаленные?

На выделенном узле Вы - единственный человек на машине. Необходимо смочь разместить несколько сайтов. Выделенный узел говорит, что Вы будут единственным на машине

0
задан 13 July 2010 в 23:15
4 ответа

A1) Для выполнения команды на удаленном сервере:

ssh server "/usr/local/sbin/command"

Используя этот метод, ssh сессия будет ожидать приоритетных процессов для выхода.

A3) Для выполнения фонового процесса на выполненном удаленном сервере:

ssh server "nohup /usr/local/sbin/command &"

4
ответ дан 4 December 2019 в 12:08
  1. не в "нормальной" установке, но возможный, если Вы выполняете сетку или кластерный механизм. Просто скопируйте по сценарию и выполните его

  2. оставить сценарий, работающий просто daemonize (выполненным в фоне с stdin и redireced к/dev/null) т.е.

    ssh remotehost "команда>/dev/null 2> &1 </dev/null и"

если Вы хотите ожидать, но сделать другой материал затем использует, ожидают как с локальными процессами

ssh firsthost command &
ssh secondhost othercommand &
...

wait
0
ответ дан 4 December 2019 в 12:08

В Вашем случае могло бы быть полезным для изменения алгоритма:

... подключения к серверу (ssh), файлам копий от него. выполните сценарий на сервере и разъединении.

следующим образом: подключения к серверу (ssh), файлам копий от него, разъединению, фоновое выполнение сценария запускается.

Чтобы иметь цель здесь, должно быть хорошо создать разделенного пользователя в целях копии:

#useradd -p xxxx -d /home/username username

затем, внесите некоторые изменения в этом пользователе .bash_logout файл:

if [ "$SHLVL" = 1 ]; then
  nohup /usr/local/bin/command &
fi

Продолжая двигаться это, генерируйте ssh ключи для новичка и настройте опции удаленного входа в систему путем, Вы предпочитаете.

Теперь каждый раз процесс копирования, например. scp user@host:/directory/SourceFile TargetFile были сделаны, фоновая задача /usr/local/bin/command должен быть запущен в удаленном поле.

0
ответ дан 4 December 2019 в 12:08

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

# with a file named after each node:
SERVERS=`ls /etc/cluster/members`
THIS_NODE=`uname -n`

REMOTE_NAME="/var/cluster/incoming/${THIS_NODE}_$$"

for (i in ${SERVERS}); do
    scp $1 ${i}:${REMOTE_NAME}
    ssh ${i} "bash ${REMOTE_NAME}"
done

Однако при вхождении в детали того, что могло бы быть ivolved и работающий с больше, чем просто несколько серверов, проблема начинает становиться очень сложной, очень быстро.

Вы могли бы хотеть взглянуть на nrpe с Nagios для материала, который регулярно выполняется, или Среда Canonical для выполнения специального материала на большом количестве серверов (одна из основных функций этого для развертывания патчей - но это может использоваться для всех видов вещей - и через все виды ОС).

HTH

C.

0
ответ дан 4 December 2019 в 12:08

Теги

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