서버 목록에서 실행하고 사용할 때 원격으로 스크립트를 실행하고 싶습니다 screen
.
수동으로 다음을 수행합니다.
screen -RD
./run_script
원격으로 원격으로 다음을 수행합니다.
ssh root@server "screen -RD && ./run_script"
그러나 무슨 일이 일어나고 있는지는 그것이 실행 중이고 screen -RD
내가 입력할 때만 exit
스크립트 실행을 시작한다는 것입니다 .
screen -RD
그렇다면 원격 작업을 구현한 다음 첫 번째 화면 터미널에서 명령을 실행하는 방법은 무엇입니까 ?
편집 #1:
[root@edge14 ~]# screen -r -X /nfs/ops/component/edge/scripts/move_stuck_aggfiles_to_hadoop.sh && screen -RD
No screen session found.
[root@edge14 ~]#
답변1
-X
스위치를 사용합니다 . 매뉴얼 페이지에서:
-X Send the specified command to a running screen session. You can use the -d or -r option to tell screen to look only for attached or detached screen sessions. Note that this command doesn't work if the session is password protected.
이것을 실제로 화면을 보는 것과 결합하십시오:
ssh root@server "screen -dr -X ./run_script && screen -RD"
(하지만 당신은진짜SSH를 통한 루트 로그인은 허용되어서는 안 됩니다. 이는 보안 관점에서 볼 때 매우 나쁜 습관입니다. )