Using ssh in Ant
От: Kelan  
Дата: 15.02.08 09:33
Оценка:
Привет всем.
Есть простая задача выполнение команд через ssh на линухе.
Сам когда-то нашел sshexec и scp tasks, до определенного времени они меня устраивали, но потом выяснилось что scp бажная, не умеет нормально работать с большой иерархией файлов и папок.
А в sshexec, что-то не нашел как один раз открыть сессию и скормить ему по-больше команд. Сейчас мой build.xml превращается в такую портянку:


<sshexec 
    host="${app_server_host}"
    username="${app_server_user}" 
    password="${app_server_pswd}" 
    command="mv -v ${dam.search.location}/SearchAttribute.class ${search.location}/SearchAttribute.class.replaced" 
    trust="yes"
    failonerror="false" 
/>
<sshexec 
    host="${app_server_host}"
    username="${app_server_user}" 
    password="${app_server_pswd}" 
    command="mv -v ${dam.search.location}/SearchAttributeGroup.class ${search.location}/SearchAttributeGroup.class.replaced" 
    trust="yes"
    failonerror="false" 
/>
<sshexec 
    host="${app_server_host}"
    username="${app_server_user}" 
    password="${app_server_pswd}" 
    command="mv -v ${dam.search.location}/SearchAttributeGroupTag.class ${search.location}/SearchAttributeGroupTag.class.replaced" 
    trust="yes"
    failonerror="false" 
/>


Есть какая-нибудь возможность эту запись сократить не объединяя линуховые команды?
Re: Using ssh in Ant
От: denis.zhdanov Россия http://denis-zhdanov.blogspot.com/
Дата: 15.02.08 09:41
Оценка: 1 (1)
Здравствуйте, Kelan, Вы писали:

K>...


K>Есть какая-нибудь возможность эту запись сократить не объединяя линуховые команды?



  1. Задай свои значения атрибутов host, username, password, trust, failonerror в качестве дефолтных через presetdef, используй потом этот шаблон, т.е. надо будет просто указывать команду для удаленного выполнения;
  2. Если для всех файлов, которые должны быть перемещены, используется одна и та же source dir, target dir, name pattern, напиши свой макрос (macrodef), который будет принимать на вход коллекцию имен файлов, которые надо переместить;
http://denis-zhdanov.blogspot.com
Re[2]: Using ssh in Ant
От: Kelan  
Дата: 15.02.08 09:49
Оценка:
Здравствуйте, denis.zhdanov, Вы писали:

DZ>Здравствуйте, Kelan, Вы писали:


K>>...


K>>Есть какая-нибудь возможность эту запись сократить не объединяя линуховые команды?



DZ>

    DZ>
  1. Задай свои значения атрибутов host, username, password, trust, failonerror в качестве дефолтных через presetdef, используй потом этот шаблон, т.е. надо будет просто указывать команду для удаленного выполнения;
    DZ>

Спасибо, действительно нужная вещь, что-то ни разу ее не заметил
Только у меня в разных случая требуется делать failonerror = true
Так что буду юзать два пресета
Re[3]: Using ssh in Ant
От: denis.zhdanov Россия http://denis-zhdanov.blogspot.com/
Дата: 15.02.08 09:59
Оценка:
Здравствуйте, Kelan, Вы писали:

K>Спасибо, действительно нужная вещь, что-то ни разу ее не заметил

K>Только у меня в разных случая требуется делать failonerror = true
K>Так что буду юзать два пресета

Зачем, не надо два. Пресет — просто дефолтные значения атрибутов. В каждом определенном таске их всегда можно переопределить.
http://denis-zhdanov.blogspot.com
Re: Using ssh in Ant
От: Aib https://razborpoletov.com
Дата: 15.02.08 21:31
Оценка:
А типа && команды разделять некошерно?
Re[2]: Using ssh in Ant
От: Kelan  
Дата: 17.02.08 19:34
Оценка:
Здравствуйте, Aib, Вы писали:

Aib>А типа && команды разделять некошерно?


Просто требуется эти команды разбивать по условиям.
А sh скрипт не охота писать, да и нужно все на стороне ant проверять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.