そのため、サーバーの重要なファイルを毎時間バックアップする自動バックアップスクリプトがあります。
これには、バックアップファイルの起動時にブロードキャストするためにゲームサーバーコンソールの実行中の画面セッションに入力を送信する次の行がたくさんあります。
screen -x $SCREENNAME -X stuff "`printf "say Backing up world: \'$WORLD\'\r"`
スクリーンセッションで他のウィンドウを使用しない限り、うまく機能します。
同じスクリーンセッションで別のウィンドウを使用すると、スクリプトはsay Backing up world
使用しているbash端末で実行しようとしますが、機能せず、ゲームコンソールにメッセージが送信されません。
Seesion内の特定の画面に出力を指示する方法はありますか?私のコンソールは常に最初の画面にあるので、画面0です。
関連がある場合はCentOS 7を使用しています。
答え1
-p を指定してウィンドウを事前に選択できます。 0は最初のウィンドウ、1は2番目のウィンドウなどです。
screen -x $SCREENNAME -p 0 -X もの" printf "say Backing up world: \'$WORLD\'\r"
"