
私は VPS で Ubuntu 15.04 Server を実行しています。友人が FTP 経由でゲーム サーバーの構成ファイルを変更できるようにし、変更が完了したらサーバーを強制終了して再起動するシェル スクリプトを実行できるようにしたいと考えています。よろしくお願いします。
答え1
アップロード後にスクリプトを実行する
pureftpd
提供するpure-uploadscript
ゲームのプロセスを再開するために使用できます:
説明
--with-uploadscript
Pure-FTPd が(バイナリ ディストリビューションのデフォルト)でコンパイルされ、-o
(または--uploadscript
) がサーバーに渡されると、 という名前付きパイプ/var/run/pure-ftpd.upload.pipe
が作成されます。また、ロックに使用される という重要なファイルがあることにも気づくでしょう/var/run/pure-ftpd.upload.lock
。アップロードが成功すると、ファイル名がパイプに書き込まれます。 はpure-uploadscript
このパイプを読み取り、新しくアップロードされたファイルを処理するためのプログラムまたはスクリプトを自動的に実行します。
(からマニュアルページ)
これを使用して、ゲーム設定ファイルの変更を検出します (アップロード/変更されたファイルは、スクリプトの最初の引数として渡されます$1
)。変更されている場合は、ゲーム サーバーを再起動します。
bash
そうでなければ、スクリプトを使用して設定ファイルcron
を確認しmtime
、新しいものに変更された場合はサーバーを再起動することができます。または、本当に素敵そしてinotify
次のようなものでフックするinotify-tools
; しかし、これはやり過ぎかもしれません。