tmux 재부팅 후 원격 코드 실행


3

나는에 대해 읽었습니다. tmux-resurrect하지만 다음과 같은 일을 할 수 있는지에 대해서는 아직 명확하지 않습니다.

  1. 스타트 tmux 세션
  2. ssh 원격 서버로
  3. 원격 호스트에서 장기 실행 코드 시작
  4. tmux 서버를 종료합니다 (예 : 로컬 시스템 재부트).
  5. 복원 & amp; tmux 세션을 다시 연결하십시오 (예 : tmux-resurrect )
  6. 원격 서버에서 시작한 코드를 계속 모니터링하십시오.

사용해야합니까? nohup 3 단계에서? 또는 할 수있다 tmux-resurrect (또는 다른 도구)가 처리합니까?

답변:


4

서버가 "보는 것"때문에 로컬 측 도구로이를 수행 할 수 없습니다.

  • SSH를 정상적으로 연결 해제하면 서버가이를 즉시 알 수 있습니다.
  • 하드 리셋 등으로 방금 사라진 경우 연결이 일정 시간 (예 : ClientAlive* 옵션, TCP keepalive 개념 - 참조 이 대답 약간의 세부 사항을 위해).

사용하려는 경우에도 tmux-resurrect 또는 로컬 측면에있는 다른 도구는 서버가 알지 못한다면 상관하지 않습니다. 사용하지 않으면 장기 실행 코드가 종료됩니다. nohup 또는 더 나은 ...

가능한 경우 tmux (또는 screen ) 서버에 :

  1. 입력하지 마라. tmux 클라이언트의 세션.
  2. ssh 서버에.
  3. 스타트 tmux 세션.
  4. 거기에 장기 실행 코드를 실행하십시오.
  5. 아무렇게나 연결 해제 : 정상적으로 연결 되든 안되든, 리모컨에서 분리 되거 나 분리되지 않은 상태 tmux.
  6. ssh 다시.
  7. 너의 tmux 세션이 아직 남아 있습니다 (그 동안 서버에 문제가 발생하지 않았다면). 다시 첨부하다 tmux a.

나는 사용한다 tmux 이런 식으로 매일 매일 나는 이것이 올바른 방법이라고 생각합니다. 내 노트북에 tmux 매일 몇 시간 동안 세션이 끝나면 매일 밤 작동을 멈 춥니 다. 하지만 몇 가지 서버에 액세스 할 수 있습니다. tmux 세션은 몇 달 동안 실행됩니다. 내가 이것을 쓰고있을 때, 그들 중 하나에 watch df -h 1 주일 동안 문자 그대로 실행되는 프로세스 tmux 두 달 전에 시작된 세션.


와우, 이건 훌륭하고 회상에서 아주 분명하다 :)
MichaelSB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.