LinuxForum.Fans
Тема

Как автоматизировать putty

Автор: apache 8 сообщений 1868 просмотров
#232971

Доброго времени суток, столкнулся такой проблемой. Достаточно часто приходится заходить на сервер и выполнять команду. Делать это каждый рас в ручную довольно сложно так как команда сложная и длинная.
Слышал что с помощью путти этот процесс можно автоматизировать.

Я поступил так, создал ярлык со следующим содержимым
[console]путь к putty.exe user@server -pw password [/console]
при клике путти авторизуется в системе, но вот как ей передать команду ума не приложу. В идеале нужно что бы она отработала и закрылась.

За ранее спасибо...

описанное выше делается под виндой

#232981

apache, попробуйте (сам я в силу очевидных причин проверить не могу) действовать по аналогии с клиентом под *nix, т.е. передайте имя команды в качестве аргумента:

text

lupo@gentoo-laptop ~ % ssh gentoo-home 'ls -l'
total 153
drwx------ 8 lupo lupo    1464 Feb 16 17:05 Desktop
drwxr-xr-x 8 lupo lupo     232 Jan 31 10:22 My GCompris
drwxr-xr-x 2 lupo lupo     232 Dec 30  2010 bin
-rw-r--r-- 1 lupo lupo  129831 Sep 27 08:33 config.amd64
-rw-r--r-- 1 lupo lupo     161 Dec  8 13:01 links.txt
-rw------- 1 lupo lupo     984 Feb 18 10:22 mbox
-rw-r--r-- 1 lupo lupo   14713 Jan 31 10:13 net.example.bz2
drwxr-xr-x 2 lupo lupo     152 Apr 28  2010 sat
drwxr-xr-x 2 lupo users     48 Mar  8  2010 torrents
drwxr-xr-x 2 lupo lupo      48 Feb 23  2011 Загрузки

P.S. Аутентификация у меня по ключам, так что запроса пароля нет.

#232989

Спасибо за ответ, беда в том что я не селен в unix, только изучаю азы, по надобности так сказать, вы бы не могли помочь на примере моей команды

[console]sudo -u user /usr/bin/rsync -e ssh --progress -lzuthvr --delete --compress-level=9 user@host:/home/sites/xxxxxxx/ /home/sites/xxxxxx/ --exclude=*.tmp[/console]

#232992

Вариант 1

text
путь к putty.exe user@server -pw password 'sudo -u user /usr/bin/rsync -e ssh --progress -lzuthvr --delete --compress-level=9 user@host:/home/sites/xxxxxxx/ /home/sites/xxxxxx/ --exclude=*.tmp'

Учитывайте, что при «копи-пасте» команды из сообщения на форуме могут скопироваться и переносы строки.

Вариант 2
Родной клиент ssh позволяет в своём конфигурационном файле ~/.ssh/config указать, какую команду нужно запустить при входе, например

text

# Мои настройки к новому десктопу
Host gentoo-home
HostName 192.168.1.110
User lupo
Port 22
LocalCommand /usr/bin/mc

Насколько всё это применимо к putty я не знаю.
Опишите подробнее задачу, которую вы пытаетесь решить указанной вами командой.

#232997

Попробовал первый вариант, путти ругнулся на неизвестную команду -u

Команда обеспечивает синхронизацию контента между двумя серверами. Настроено проксирование контента с целью снизить нагрузку. Вообще то команда выполняется по крону, но для решения оперативных задач приходится синхронизировать сервера в ручную.

#232999

apache, как вариант, попробуйте команду записать в скрипт, а уж при вызове putty указывать полный путь к этому скрипту.

#233001

user — этот пользователь присутствует на всех машинах? Наверное, можно отказаться от использования sudo.

#233003

да user присутствует. попробую без sudo

Войдите или зарегистрируйтесь, чтобы ответить.