На выделенном узле Вы - единственный человек на машине. Необходимо смочь разместить несколько сайтов. Выделенный узел говорит, что Вы будут единственным на машине
A1) Для выполнения команды на удаленном сервере:
ssh server "/usr/local/sbin/command"
Используя этот метод, ssh сессия будет ожидать приоритетных процессов для выхода.
A3) Для выполнения фонового процесса на выполненном удаленном сервере:
ssh server "nohup /usr/local/sbin/command &"
не в "нормальной" установке, но возможный, если Вы выполняете сетку или кластерный механизм. Просто скопируйте по сценарию и выполните его
оставить сценарий, работающий просто daemonize (выполненным в фоне с stdin и redireced к/dev/null) т.е.
ssh remotehost "команда>/dev/null 2> &1 </dev/null и"
если Вы хотите ожидать, но сделать другой материал затем использует, ожидают как с локальными процессами
ssh firsthost command &
ssh secondhost othercommand &
...
wait
В Вашем случае могло бы быть полезным для изменения алгоритма:
... подключения к серверу (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
должен быть запущен в удаленном поле.
То, что Вы описываете довольно простые звуки (и как другие сказали, просто для реализации). Первое, что пришло на ум, что-то как:
# 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.