Доброго времени суток, столкнулся такой проблемой. Достаточно часто приходится заходить на сервер и выполнять команду. Делать это каждый рас в ручную довольно сложно так как команда сложная и длинная.
Слышал что с помощью путти этот процесс можно автоматизировать.
Я поступил так, создал ярлык со следующим содержимым
[console]путь к putty.exe user@server -pw password [/console]
при клике путти авторизуется в системе, но вот как ей передать команду ума не приложу. В идеале нужно что бы она отработала и закрылась.
За ранее спасибо...
описанное выше делается под виндой
Как автоматизировать putty
apache, попробуйте (сам я в силу очевидных причин проверить не могу) действовать по аналогии с клиентом под *nix, т.е. передайте имя команды в качестве аргумента:
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. Аутентификация у меня по ключам, так что запроса пароля нет.
Спасибо за ответ, беда в том что я не селен в 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]
Вариант 1
путь к 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 указать, какую команду нужно запустить при входе, например
# Мои настройки к новому десктопу
Host gentoo-home
HostName 192.168.1.110
User lupo
Port 22
LocalCommand /usr/bin/mc
Насколько всё это применимо к putty я не знаю.
Опишите подробнее задачу, которую вы пытаетесь решить указанной вами командой.
Попробовал первый вариант, путти ругнулся на неизвестную команду -u
Команда обеспечивает синхронизацию контента между двумя серверами. Настроено проксирование контента с целью снизить нагрузку. Вообще то команда выполняется по крону, но для решения оперативных задач приходится синхронизировать сервера в ручную.
apache, как вариант, попробуйте команду записать в скрипт, а уж при вызове putty указывать полный путь к этому скрипту.
user — этот пользователь присутствует на всех машинах? Наверное, можно отказаться от использования sudo.
да user присутствует. попробую без sudo