サーバーを運用をしていると起動時間によって、メモリーを圧迫してサーバーが重たくなることがあります。その際は、この定期再起動を試してみてはいかがでしょうか。
作業を行う上で下記の作業は終わってる前提で話を進めていきます。
- 事前準備
- サーバーインストール編
- Rust サーバー起動設定
- RCON接続編 (サーバー内からアクセスする場合)
※補足:Webminの機能とRust ServerのRCONの機能を使います。
設定されていない方はRCONの有効化とWebminのインストールを行ってください。(当サイトの設定通りに行っているのであれば特に問題は御座いません。)
Rust サーバーは動かしている状態で行ってください。
再起動用スクリプトの作成
# 移動する
# サーバーインストール先まで移動
cd /root/develop/rust_srv
# vim コマンドよりファイルを作成・編集します。
sudo vim restartrust.sh
以下ファイルの中身になります。
#!/bin/sh
cd `dirname $0`
if [ $# -ne 1 ]; then
echo "引数は"$#"でした。"
echo "引数は1個です。"
exit 1
fi
if [ $1 -eq 0 ]; then
screen -p 0 -r rcon -X eval 'stuff "restart\015"'
fi
if [ $1 -eq 1 ]; then
screen -p 0 -r rust -X eval 'stuff "./startrust.sh\015"'
fi
定期スケジュール実行の設定(Cron – webmin)
webminの画面から定期実行スケジュールの設定をしていきます。
マーカーで選択している箇所を選択してください。
Rust Server起動用設定
項目名 | 値 |
---|---|
cron ジョブを実行するユーザ | root |
コマンド | /root/develop/rust_srv/restartrust.sh 1 |
説明 | Rust Server 起動用 |
スケジュールは各自に設定してください。以下は毎日深夜の1時に実行する例になります。
【保存】を選択して設定完了になります。 テストしたい方は【今すぐ保存して実行】を選択してください。
Rust Server停止用設定
項目名 | 値 |
---|---|
cron ジョブを実行するユーザ | root |
コマンド | /root/develop/rust_srv/restartrust.sh 0 |
説明 | Rust Server 停止用 |
以下は毎日深夜の0時に実行する例になります。
【保存】を選択して設定完了になります。 テストしたい方は【今すぐ保存して実行】を選択してください。
これで設定完了になります。
※スケジューリングは細かく設定できるので、いろいろ試してみください。
最後に
定期実行設定にすると、screen -r rustでrustのサーバー画面が見れていましたがこれが見れなくなります。そのため、起動状態はRustadmin で接続して確認をするようにしてください。また、強制的にrust serverを終了させたい場合は、webminでプロセスマネージャーから終了させてください。