2012-10-04 6 views
4

Windows 머신에서 Linux 머신의 mysql 복원을 스크립팅해야합니다. 나는 퍼티가 있고 그것이 ssh 기능을 가지고 있다는 것을 알고있다. 여기에 내가 무엇을 가지고 :Windows에서 퍼티를 통한 ssh 스크립팅

C:\Progra~1\Putty\putty.exe -ssh [email protected] && mysql -u USER -pPASS db < /tmp/dump.sql 

스크립트를 작성에서 내 문제는 퍼티가 새 창을 열고 전송이 제어, 그래서 아무것도 아무것도하지 않는

putty.exe -ssh 

후 오는 것입니다.

+0

PuTTY는 아마도 여기에서 사용하려는 도구가 아닙니다. – cdhowie

+2

루트 암호로 일반 텍스트로 스크립트를 작성하는 것은 좋지 않습니다. –

+0

예, 패스워드가 패스가 아닌 것처럼 루트가 아닙니다 :) – mvd

답변

7

-m 옵션을 사용하여 원격 연결에서 실행할 명령을 포함하는 파일을 지정할 수 있습니다.

예 : Putty Documentation에서 C:\cmd.txt

mysql -u USER -pPASS db < /tmp/dump.sql 

C:\Progra~1\Putty\putty.exe -ssh -m C:\cmd.txt [email protected] 

내용 :

'

3.8.3.6`-m : 파일에서 원격 명령 또는 스크립트를 읽어

-m' option performs a similar function to the PuTTY 구성 상자 (섹션 4.18.1 참조)의 SSH 패널에있는 원격 명령 ' 상자. 그러나,`-m '옵션은 로컬 파일 이름이 주어지기를 기대하며, 그 파일로부터 명령을 읽을 것이다.

일부 서버 (특히 유닉스 시스템)에서는 여러 줄을이 파일에 넣고 시퀀스 또는 전체 셸 스크립트에서 둘 이상의 명령을 실행할 수도 있습니다. 그러나 이것은 아마도 남용이며, 은 모든 서버에서 작동하지 않을 것으로 예상됩니다. 특히, 시스코 라우터와 같은 특정 '임베디드'서버에서 작동하는 것은 이 아니며,이 아닙니다.

이 옵션은 파일 전송 도구 PSCP 및 PSFTP에서 사용할 수 없습니다.