[server] crontab을 사용하여 스크린 세션을 시작하려면 어떻게합니까?

화면을 시작하고 게임 서버를 시작하고 분리하도록 crontab 항목을 만들고 싶습니다. 이것은 서버가 재부팅되고 자동으로 시작되도록하려는 경우입니다.

000 0 (명령)

시작할 때 실행해야합니다.

~ / cube / server.sh에 위치한 쉘 파일을 실행합니다.



답변

이와 같은 것이 작동해야합니다. 이 예제는 화면을 생성하고 “top”을 실행합니다.

screen -d -m top

표시된대로 crontab에서 다음과 같은 작업을 수행하려고합니다.

@reboot /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver

물론 게임 서버에 “일반”환경 세트가 필요한 경우 다음을 통해 더 가까이 갈 수 있습니다.

@reboot (. ~/.profile; /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver)


답변

이것으로 충분합니다 … 실행

$ crontab -e

그런 다음 다음을 입력하십시오.

@reboot screen -dmS Victor


답변

완벽을 기하기 위해 목적 대신 tmux 를 대신 사용할 수도 있습니다 screen( 비교는 이 링크 참조 ).

@reboot tmux new-session -d -s yourNameOfTheSession "your command to run"


답변

비슷한 상황이 있었지만 다른 불합리한 제한으로 인해 crontab을 사용할 수 없었습니다. 실제로 inittab 호출 화면이있었습니다. (정보를 모호하게하기 위해 일부 이름을 대체했습니다) :

XXX:5:respawn:/bin/su - useraccount -c "screen -D -m -c /home/xxxxxx/file.screenrc"

‘file.screenrc’에서 몇 가지 옵션을 설정합니다.

sessionname obscuresessionname
multiuser on
cd
screen /home/xxxxxxx/programtostart

이렇게하면 부팅시 시작되었으며 프로그램이 종료되거나 화면이 닫히면 다시 생성됩니다. 기존의 것으로 간주되지는 않았지만 몇 가지 이상한 환경 요구 사항을 해결해야했습니다. 만약 우리가 그것을 제거해야한다면, 우리는 그 라인을 주석 처리하고 세션을 종료해야 할 것입니다. 그런 다음 다시 가져올 준비가되면 주석 처리를 제거하고 초기화하십시오. q.


답변