Chcę utworzyć wpis crontab, aby uruchamiał ekran, uruchamiał serwer gier i odłączał się. Dzieje się tak w przypadku, gdy serwer zostanie zrestartowany i chcę, aby automatycznie to dla mnie uruchomił.
0 0 0 0 0 (polecenie)
powinien działać podczas uruchamiania.
Działa plik powłoki znajdujący się w ~ / cube / server.sh
linux
cron
gnu-screen
gameserver
Zwycięzca
źródło
źródło
Odpowiedzi:
Coś takiego powinno działać. Ten przykład odradza ekran i uruchamia „top”:
Jak wskazano, w swoim crontabie chcesz zrobić coś takiego:
Oczywiście, jeśli serwer gry wymaga „normalnego” zestawu środowiska, możesz podejść bliżej poprzez:
źródło
. ~/.profile
część?@reboot (. ~/cube; /usr/bin/screen -dmS gameserver-screen ./server.sh)
To powinno wystarczyć ... uciekać
Następnie wprowadź:
źródło
Dla zachowania kompletności możliwe jest również użycie tmux w tym celu zamiast
screen
(zobacz ten link dla porównania):źródło
Miałem podobną sytuację, ale z powodu innych nieuzasadnionych ograniczeń nie mogłem używać crontab. Właściwie miałem ekran połączenia inittab. (zastąpiono niektóre nazwy, aby ukryć informacje):
W 'file.screenrc' ustawiam kilka opcji:
W ten sposób zaczął się przy rozruchu, a jeśli program zginie lub ekran zostanie zamknięty, odrodzi się ponownie. Może nie było to uważane za konwencjonalne, ale musiałem obejść kilka dziwnych wymagań środowiskowych. Gdybyśmy jednak musieli to usunąć, musielibyśmy skomentować tę linię i zabić sesję. Gdy będziesz gotowy, aby przywrócić go z powrotem, odkomentuj i rozpocznij q.
źródło