【问题标题】:Centos Tmux - Bash scriptCentos Tmux - Bash 脚本
【发布时间】:2014-07-28 18:11:23
【问题描述】:

我有一个 java 应用程序(Minecraft 服务器),您可以使用以下命令启动它。

java -Xmx4G -Xms4G -jar spigot.jar

我有 8 个 minecraft 服务器在一个专用服务器上运行,所以我使用 tmux。

我有一个名为“servers”的 tmux 会话,在该 tmux 会话中我有 8 个窗口。 每个窗口都运行一个 minecraft 服务器。

当服务器重新启动时,它们将启动一个名为 start.sh 的脚本

所以我的问题是:如何让服务器在与之前相同的会话中启动?

是不是有点像

#!/bin/bash tmux a -t servers #something java -jar -Xmx4G -Xms4G Spigot.jar

【问题讨论】:

  • 首先如何启动服务器,又如何重新启动?

标签: java bash centos sh tmux


【解决方案1】:

这是一个简单的脚本,用于在具有不同窗口的 tmux 会话中启动多个服务器。

#!/bin/bash
SESSION='minecraft_servers'

tmux -2 new-session -d -s $SESSION

# Setup a window for server 1
tmux rename-window 'server1'
tmux send-keys "cd /server1_dir; java -jar -Xmx4G -Xms4G Spigot.jar" C-m

# Setup a window for server 2
tmux new-window -t $SESSION:1 -n 'server2' 
tmux send-keys "cd /server2_dir; java -jar -Xmx4G -Xms4G Spigot.jar" C-m

# Setup a window for server 3
tmux new-window -t $SESSION:2 -n 'server3' 
tmux send-keys "cd /server3_dir; java -jar -Xmx4G -Xms4G Spigot.jar" C-m

...(start more servers here the same as the two above)

# Set default window to first window
tmux select-window -t $SESSION:0

此脚本运行后,您只需使用 tmux attach 命令像平常一样打开会话。

【讨论】:

    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2015-03-26
    相关资源
    最近更新 更多