저는 작은 마인크래프트 서버를 운영하고 있습니다.
서버가 시작될 때 Lubuntu가 다음 스크립트를 실행하도록 하고 싶습니다. 로그인할 때나 재부팅할 때(물론 부팅하는 경우는 제외)
스크립트는 현재 다음 위치에 있습니다.
/home/mc/server/craftbukkit.sh
디렉토리로 이동하여 를 입력하여 스크립트를 수동으로 시작할 수 있습니다 ./craftbukkit.sh
. 하지만 컴퓨터가 시작될 때 스크립트를 시작하고 싶습니다.
답변1
최신 Ubuntu에서는 이 작업을 수행하고 /etc/init/bukkit.conf
(whatever.conf)를 생성해야 합니다.
description "Some java server"
author "Moi <[email protected]>"
start on runlevel [2345] # change start / stop level if needed
stop on runlevel [016]
pre-start script
echo "script is abort to start"
end script
exec /path/to/script param1 param2
post-start script
echo "script is started" # if you needed any post-start hack
end script
답변2
저는 데비안 터미널에서 Minecraft 서버를 실행하고 있습니다. 이는 아마도 잘못된 방법일 수 있지만 작동합니다. 먼저 sudo apt-get install screen
다음 스크립트를 다음과 같이 저장하십시오 /etc/init.d/minecraft
.
#!/bin/bash
case "$1" in
start)
screen -S minecraft /home/mc/server/craftbukkit.sh
echo "Server started on screen minecraft"
;;
stop)
screen -X -S minecraft kill
echo "Server shutting down"
;;
*)
echo "Usage: /etc/init.d/minecraft {start|stop}"
exit 1
;;
esac
exit 0
이제 루트로 다음 명령을 실행하십시오.
update-rc.d -f minecraft defaults
이렇게 하면 시스템이 시작될 때 Minecraft 서버가 백그라운드에서 실행됩니다. 콘솔을 보려면 screen -x minecraft
터미널에서 실행하세요. 콘솔을 종료하려면 Ctrl+A를 누른 다음 D를 누르세요.
답변3
ubuntu/lubuntu에는 "Start Application"이라는 메뉴 항목이 있어야 합니다. 내 우분투 서버에서는 "시스템 > 환경 설정 > 시작 응용 프로그램" 메뉴 아래에 있습니다. 이것은 그놈에 있지만 더 웃어야 합니다. 추가 버튼을 선택하고 Minecraft와 같은 이름을 지정한 다음 활성화하려면 상자가 선택되어 있는지 확인하세요.
이는 하드코어 Linux 솔루션은 아닐 수 있지만 활성화되었는지 확인하고 필요한 경우 비활성화/활성화할 수 있는 쉬운 방법을 제공합니다.
답변4
루스트어바웃나는 Dockerfile을 생성하고 --restart=always 태그를 사용하여 실행하는 것을 선호합니다.
시작 시 쉘 스크립트를 실행하려는 경우 그런 다음 Unix의 crontab을 사용하면 사용하기 매우 쉽고 몇 분 안에 구성할 수 있습니다.
crontab 편집 다음 명령을 실행하여 "USER"를 노드 프로세스에 대해 원하는 런타임 사용자로 바꾸십시오. 자신이 아닌 다른 사용자를 선택하는 경우 sudo를 사용하여 이 명령을 실행해야 합니다.
$ crontab -u 사용자 -e
편집기에서 다음 줄을 추가합니다.
@reboot sh /home/mc/server/craftbukkit.sh
저장하고 #1의 check 명령을 통해 파일이 다시 저장되었는지 확인하세요.
참고: 제 생각에는 문제를 방지하려면 crontab 파일의 전체 경로를 사용해야 합니다.
참조를 위해 이 URL을 참조할 수 있습니다. 우분투 크론 운영 가이드