日本語版
最新ニュース
科学&テクノロジー

bash および PowerShell スクリプトを起動するための Web フォーム

あなたが端末のプロである場合、Web インターフェイスを使用してスクリプトを起動することに何の意味があるのでしょうか? とりわけ: 不愉快な予期せぬ事態を避けるために利用可能なオプションを制限し、実行履歴を保存することにより、安全な方法で特定のスクリプトの実行をビジネス ユーザーに委任するには、次の手順を実行します。例: 指定された日付範囲のレポートを生成し、電子メールで送信します。 または、緊急時に事前定義されたタスクを簡単に実行するには (スマートフォンとは異なり、端末は常に手元にあるわけではありません):例: Linux サービスのステータスを確認したり、再起動/停止したりする これら 2 つのユースケースには、次の方法で対応することをお勧めします。 構成可能なタスク に追加されたばかりです Ctfreak の最新リリース。 前提条件 必要なものは次のとおりです。 Unix サーバー: Linux、Mac OS X、FreeBSD など (「 記事の最後に Windows サーバーに適応させるため)、スクリプトが実行される SSH 経由でアクセスできます。名前を付けます スクリプトrv。 の例 クトフリーク 管理者アカウント ( 無料版 タスクごとに…

bash および PowerShell スクリプトを起動するための Web フォーム

1727680587
2024-09-16 11:28:28

あなたが端末のプロである場合、Web インターフェイスを使用してスクリプトを起動することに何の意味があるのでしょうか?

とりわけ:

  • 不愉快な予期せぬ事態を避けるために利用可能なオプションを制限し、実行履歴を保存することにより、安全な方法で特定のスクリプトの実行をビジネス ユーザーに委任するには、次の手順を実行します。

    例: 指定された日付範囲のレポートを生成し、電子メールで送信します。

  • または、緊急時に事前定義されたタスクを簡単に実行するには (スマートフォンとは異なり、端末は常に手元にあるわけではありません):
    サービスのステータス
    例: Linux サービスのステータスを確認したり、再起動/停止したりする

これら 2 つのユースケースには、次の方法で対応することをお勧めします。 構成可能なタスク に追加されたばかりです Ctfreak の最新リリース


前提条件

必要なものは次のとおりです。

  • Unix サーバー: Linux、Mac OS X、FreeBSD など (「 記事の最後に Windows サーバーに適応させるため)、スクリプトが実行される SSH 経由でアクセスできます。名前を付けます スクリプトrv

  • の例 クトフリーク 管理者アカウント ( 無料版 タスクごとに 1 つのパラメーターに制限することで、この記事の例を適応させれば十分です)。


サーバー構成 スクリプトrv

管理者アカウントを使用して Ctfreak インスタンスにログインします。

まず、SSH キーを追加して、サーバーに接続できるようにします。 SSH認証情報新しい SSH 認証情報:

SSHキーの追加

次に、サーバー自体を追加します ノード内部ノード新しいノード:

サーバーの追加

キーがあることを確認してください scriptsrv の SSH キー としてよく選ばれています 資格情報、検証してノードを作成します スクリプトrv

Ctfreak は、指定された SSH キーを使用してサーバーに接続し、さまざまなタスクを実行できるようになりました。


1 番目のケース: 指定された日付範囲のレポートを生成し、電子メールで送信します。

この例では、サーバー上に スクリプトrv 実行可能ファイルの generatereport の販売レポートを作成し、電子メールで送信できます。 期間、 そして 受信者 そして 形式 与えられた。この実行可能ファイルをターミナルで直接実行すると、次のようになります。

generatereport --from 2024-03-04 --to 2024-03-10 --recipient [email protected] --format pdf
全画面モードに入る

全画面モードを終了する

したがって、Ctfreak でタスクを作成します。このタスクは、実行時に Web フォームをオンザフライで生成し、実行可能ファイルを起動する前にこれら 4 つのパラメータを入力できるようにします。 generatereport


プロジェクトの作成 報告

まず、レポートタスク専用のプロジェクトを作成しましょう。

に行く プロジェクト新しいプロジェクト

プロジェクトの作成

プロジェクトの作成を検証します。


タスクの作成 販売レポートの作成と送信

に行く プロジェクト報告新しいタスク

タスクの種類の選択

選ぶ Bash スクリプト タスクの種類として。

新しい bash スクリプト

指示に従ってフィールドに入力します 名前スクリプト など ノードフィルター

スクリプトの内容では、4 つの期待値が環境変数を介して設定されており、すべての接頭辞は次のとおりです。 CTP_:

#!/bin/bash
generatereport --from $CTP_FROM --to $CTP_TO --recipient $CTP_RECIPIENT --format $CTP_FORMAT
全画面モードに入る

全画面モードを終了する

これらの変数は、ボタンをクリックして作成するパラメータに対応します。 パラメータの追加

生理の開始日と終了日から始めましょう。

開始日と終了日

  • パラメータの種類 日付 これにより、有効な日付が実行フォームに入力されることが保証されます。

  • フィールド デフォルトの日付タイプ を使用すると、前の週をデフォルト期間として使用できます。

  • フィールド 名前 環境変数名を設定するために使用されます (CTP_FROM したがって、スクリプトでは、名前付きパラメータを参照します FROM)。

  • フィールドのとき ラベル が入力されると、フィールドが置き換えられます 名前 実行フォームを生成するときに変数を参照します。

  • タスクを実行すると、入力された日付が次の形式に変換されます。 YYYY-MM-DD 対応する環境変数をフィードします。

レポートの受信を許可された受信者の電子メールについては、パラメータ タイプにより可能な選択肢を 2 つの電子メールに制限します。 セレクタ:

受信者

各オプションのフィールド ラベル 示されている場合は置き換えられます 価値 実行フォームを生成するとき。ここでそれを使用して表示することもできました Nigel など John それぞれの電子メールの代わりにフォームで。

最後に、最後の型パラメータを 1 つ追加します。 セレクタ 生成されるファイルの形式 (ここでは PDF または Excel ですが、問題ありません) を選択できます。 pdf または xlsx これはスクリプトに渡されます):

形式

必要な情報がすべて提供されたら、残っているのはタスクの作成を検証することだけです。


タスクの実行

に行く プロジェクト報告販売レポートの作成と送信実行する 実行フォームを表示します。

販売レポートを作成して送信する

ご覧のとおり、フォームの生成では 4 つのパラメーターが十分に考慮されています。


ビジネスユーザーの追加

私たちのタスクは実行可能であるため、ビジネス ユーザーがそれを実行できるように、ビジネス ユーザーに引き渡す必要があります。

に行く ユーザー新規ユーザー

ユーザーの作成

ユーザーを作成するために検証します。

基本的に、管理者以外のユーザーは(ログインを除いて)何にもアクセスできないため、必要な権限を追加する必要があります。

に行く プロジェクト報告アクセス編集

ジャックに役割を与えて追加します 執行者

プロジェクトへのアクセス

ジャックはプロジェクトにアクセスできるようになりました 報告、 もっと 独特の そこに含まれるタスクを実行します。


2 番目のケース: ステータスを知る、または Linux サービスを再起動/停止する


プロジェクトの作成 システム管理者

システム管理タスク専用のプロジェクトを作成しましょう。

に行く プロジェクト新しいプロジェクト

プロジェクトの作成

プロジェクトの作成を検証します。


タスクの作成 システム制御

に行く プロジェクトシステム管理者新しいタスク 前のケースと同様に、 Bash スクリプト タスクの種類として。

新しい bash スクリプト

指示に従ってフィールドに入力します 名前スクリプト など ノードフィルター

ボタンをクリックしてください パラメータの追加 関連するサービスのリストを追加します (ここでは Postgresql と Apache)

サービス

ステータスを知るためのコマンドと同様に、サービスを再起動または停止します。

注文

タスクを作成するために検証します。


タスクの実行

に行く プロジェクトシステム管理者システム制御実行する 実行フォームを表示します。

サービスのステータス

タスクを実行し、目のアイコンをクリックしてログを表示します。

ログ


Bash ではなく Powershell スクリプトを実行する

サーバーの場合 スクリプトrv Windows 上では、スクリプトを実行するためにいくつかの調整を行うだけです パワーシェル それよりも バッシュ:

  • 内部 SSH サーバーを有効にする Windows。
  • ノード作成時 スクリプトrv、プロパティを設定します OS ファミリ もっている Windows それよりも Unix
  • タイプタスクの作成 パワーシェルスクリプト の代わりに Bash スクリプト スクリプトのコンテンツは Bash ではなく Powershell で記述します。

環境変数の形式でパラメーターを挿入する原理はまったく同じです。最初のケースからスクリプトを適応させると、次のようになります。

generatereport --from $env:CTP_FROM --to $env:CTP_TO --recipient $env:CTP_RECIPIENT --format $env:CTP_FORMAT
全画面モードに入る

全画面モードを終了する


終了するには

お気づきかと思いますが、Web インターフェイスをスクリプトに追加するという単純な行為によって、多くの可能性がもたらされます。

この記事で紹介した例をニーズに合わせて調整することから始めます。これにより、ユーザーにさらに大きな自主性を提供できるようになります。

#bash #および #PowerShell #スクリプトを起動するための #Web #フォーム

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。