Программа для автоматического выполнения комманд на удаленном linux с windows машины

pash_it

Постоялец
Регистрация
5 Окт 2007
Сообщения
127
Реакции
4
Есть мониторинг, который может запускать программу, если сайт недоступен.
Например хотело бы чтобы при мониторинге ФТП, когда ФТП лежит(( мониторинг запускал программу, которая коннектилась бы по ssh и выполняла всего 1 команду:
service proftpd restart
 
наф тебе удалённо? скрипт на проверку накалякай, в крон укажи задание выполнение каждые 5 мин. и будет тебе мармелад!
 
Нет нужно чтобы когда FTP только был недоступен( Мониторинг заметил - запустил программку, программка вошла перезапустила.
 
1) как все знаем можно използувать ssh , в твоем случае ssh с Cygwin

инсталируем Cygwin
делаем C:\cygwin\launch.bat
Код:
@echo off
C:
chdir C:\cygwin\bin
bash --login -i -c "%*"
запускаем команду
Код:
C:\cygwin\launch.bat ssh user@host "remotecommand"
конечно тебе нужно сгенерировать ключ для authentication бес парола
Код:
You@PC ~
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/You/.ssh/id_dsa): <type ENTER here>
Enter passphrase (empty for no passphrase): <type ENTER here>
Enter same passphrase again: <type ENTER here>
Your identification has been saved in /home/You/.ssh/id_dsa.
Your public key has been saved in /home/You/.ssh/id_dsa.pub.
The key fingerprint is:
e0:6a:23:1b:9b:40:bd:73:76:94:c0:e5:35:21:cb:a5 You@PC

You@PC ~
$ cat .ssh/id_dsa.pub | ssh remoteUser@remoteHost 'cat >>.ssh/authorized_keys'
remoteUser@remoteHost's password: <type remoteUser's password here + ENTER>
2) можешь използуват и plink.exe , которая част из Putty
Код:
C:\Program Files\Putty\plink.exe -ssh -2 -P 22 user@server ls -l /tmp
 
Когда мне понадобилось решить аналогичную задачу, я остановился на

он бесплатный и никакого дополнительного софта или библиотек не нужно.
 
Когда мне понадобилось решить аналогичную задачу, я остановился на
*** скрытое содержание ***
он бесплатный и никакого дополнительного софта или библиотек не нужно.

ето sshd - тоесть демон , там нет "ssh" который нам нужен
 
ето sshd - тоесть демон , там нет "ssh" который нам нужен
Каюсь, невнимательно прочитал сообщение ТС и неправильно его понял. В таком случае, есть, опять же, альтернатива cygwin — нативный клиент на основе исходников известного putty: Для просмотра ссылки Войди или Зарегистрируйся
 
help40, Огромное спасибо! Сделал как автоматически все делать с помощью 1 команды plink.exe.

Но появился вопрос по безопасности, как разрешить пользователю linux только перезапускать FTP (хотя бы перезапускть), все остальные любые команды - запретить.
 
что то неправильное мутите

cron + шел скрипт

скрипт пингует локальный порт , если ничего нет то рестарт
 
ProFTPD работает, не знаю как его еще можно мониторить,

Это в момент когда он повис:
[root@s12 ~]# ps aux | grep ftp
root 6260 0.0 0.0 6132 592 pts/0 S+ 11:44 0:00 grep ftp
ftp 24382 0.0 0.0 41128 2332 ? SLs Oct31 0:00 proftpd: (accepting connections)
[root@s12 ~]# telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 ::ffff:127.0.0.1 FTP server ready
quit
221 Goodbye.
Connection closed by foreign host.
[root@s12 ~]# service proftpd status
proftpd (pid 24382) is running...
[root@s12 ~]# service proftpd restart
Shutting down proftpd: [ OK ]
Starting proftpd: [ OK ]
[root@s12 ~]#

Только после перезапуска FTP на него можно войти.
 
Назад
Сверху