2012-05-30 4 views
2

좀 자동화 할 노력하고 원격 시스템에 SysRq를 트리거가 다음되는 요구 사항입니다 : -실행 에코 C> bash는

"기계에서 실행 명령"에코 C>/proc 디렉토리/SysRq를 트리거 "컴퓨터 B가 충돌하고 컴퓨터 B가 부팅 한 후 (충돌 후) 컴퓨터 b에서 컴퓨터 A로 파일을 복사하는 등의 다른 작업을 수행 할 수 있도록 컴퓨터 B에서" 이를 위해

난 다음 2 가지 방법을 시도 : -

  1. "ssh를 -o UserKnownHostsFile =는/dev/null로 -o StrictHostKeyChecking = 아니오 -l 루트"쉬 // PROC/SysRq를 트리거 명령 > "

  2. "SSH -o UserKnownHostsFile =/디바이스/널 -o StrictHostKeyChecking = 더 -l 루트 없다 "SH 에코 C>은/proc/SysRq를 트리거>"사례 암호 모두

- ssh가 설정되었거나 기대를 통해 암호를 제공하십시오. 그래서 비밀 번호는 여기에 문제가되지 않습니다. 문제는 원격 컴퓨터 B에서 sysrq 명령을 실행 한 후에 컨트롤이 멈추는 것입니다. 컴퓨터 A에서 다시 돌아 오지 않아 동일한 터미널에서 다른 작업을 수행 할 수 없습니다.

# ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root <Machine B> "echo c > /proc/sysrq-trigger " 

경고 : 영구적으로 알려진 호스트 목록에 (RSA) ', ca-ostest212.us.oracle.com 139.185.48.212'을 추가했다. 루트 @의 암호 :

암호 기계 B를 제공 한 후 재부팅하지만 컴퓨터 A에서 프롬프트가 표시되지 않습니다.이 문제를 해결할 수있는 방법이 있으므로 프롬프트가 다시 나타나고 다음 명령이 시스템 A에서 실행됩니다.

추 신 :이 긴 검색어에 대한 사과. Plz 도움. 미리 감사드립니다.

+0

이 목표로 달성하려는 목표는 무엇입니까? – tripleee

+0

컴퓨터 A에서 원격으로 컴퓨터 B를 충돌시키고 vmcore를 검사하여 생성 된 내용을 분석 할 수 있는지 확인합니다. – BIBS

답변

0

나는 그것이 작동하는지 확인하기 위해이 같은 일을 시도 할 것 :

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root <Machine B> "{ sleep 2; echo c > /proc/sysrq-trigger; } & exit" 

또는

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root <Machine B> "nohup sh -c 'sleep 2; echo c > /proc/sysrq-trigger' & exit" 

아이디어는 짧은 충돌과 함께 sleep 반환 즉시 배경이다. sleep 간격을 변경해보십시오. -f, -n, -t 또는 -T 옵션을 사용해 볼 수도 있지만, 빨대를 잡는 중입니다. -f 또는 -n을 사용하는 경우 로컬 ssh 프로세스의 백그라운드를 설정하지 마십시오 (원격 설정 만 처리).

1

먼저 2 개의 시스템간에 암호가없는 ssh를 만든 다음 원본 컴퓨터에서 다음 명령을 실행하여이 작업을 구현합니다.

ssh -l root <remote machine> "echo c > /proc/sysrq-trigger" &