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 認証情報:
次に、サーバー自体を追加します ノード → 内部ノード → 新しいノード:
キーがあることを確認してください 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 スクリプト タスクの種類として。
指示に従ってフィールドに入力します 名前、 スクリプト など ノードフィルター。
スクリプトの内容では、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 スクリプト タスクの種類として。
指示に従ってフィールドに入力します 名前、 スクリプト など ノードフィルター。
ボタンをクリックしてください パラメータの追加 関連するサービスのリストを追加します (ここでは 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 #フォーム















