GoGPT Best VPN GoSearch

OnWorksファビコン

shush - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで shush を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド shush です。

プログラム:

NAME


shush - コマンドを実行し、オプションでその出力をメールで報告します

SYNOPSIS


しっ [ -h | -V ]

しっ [ -c DIR ] [ -S | -s 施設 ] [ -vfmk ] [ ID ]

しっ [ -c DIR ] [ -H 〜へ ] [ -R 〜へ ] [ -T 〜へ ] -C [ (Linuxで言うところのstdout) [ stderr ]]

しっ [ -i | -u | -r ] [ -c DIR ]

DESCRIPTION


しっ コマンドを実行し、オプションでその出力をメールで報告します。 便利なラッパーです
cronジョブ周り。 デフォルトでは、 しっ として実行しても出力は生成されません
すべて(何かあったとしても)はメールで報告されます。 ただし、構成だけでなく重要な点も
エラーは標準エラーと (オプションで) syslog で報告されます。 なぜなら
割り込む しっ からの出力が失われる可能性を含む悲惨な結果をもたらします。
コマンドでは、次の一般的に使用される信号は無視されます。 しっ: ため息、シグイント、シグクイット
そしてSIGTERM。 本当に実行中のインスタンスを強制終了したい場合は、 しっ 殺すのではなく
実行中の管理コマンド SIGKILL は使用でき、その方法を思い出させるものとして機能します。
通常、そのような行為は不適切です。

コマンドを使用して実行するには しっ、設定ファイル に存在する必要があります
構成ディレクトリ ($HOME/.shush デフォルトで)。 このファイルは、コマンドがどのように実行されるかを定義します。
レポートをメールで送信するときにも実行する必要があります。 利用可能な詳細については、
設定パラメータについては、を参照してください。 CONFIGURATION 以下のセクションをご覧ください。

追加の XNUMX つの構成ファイルが存在する場合があります。 名前.stdout   名前.stderr (デフォルト)。
これらのファイルは、それぞれ標準出力と標準エラーを確認するために使用されます。
コマンドによって生成されます。 これらの使用方法の詳細については、 COMMAND 出力
を参照してください。

-C オプションが指定されている、 しっ オプションで設定のみをロードします
指定されたファイルから標準出力と標準エラーを分析し、最後に
必要に応じてサンプルレポートを作成します。 これは、次の場合にレポートを作成するためにも使用される場合があります。 しっ
コマンドの実行時に適切に終了できませんでした。 (標準出力とエラー
このコマンドは通常、/tmp の下にあるファイルにあります。)

しっ 管理できる crontab(5) ユーザーが定義した構成に基づくエントリ。
これは XNUMX つの方法のいずれかで実行できます。 「」という名前のファイルの場合、スケジュール" に存在します
設定ディレクトリに保存されると、スケジュール情報が読み取られます。 各行は、
空白で区切られた XNUMX つのフィールドを含む単一のエントリが含まれます。 フィールドは、
(順番に) エントリが適用されるホスト名、またはすべてを含む文字「*」
ホスト、構成 、最後に、同じ形式のスケジュール情報
によって使用されるように、 スケジュール パラメータ(以下を参照)。 指定するには IDには :ID として
XNUMX番目のフィールド。 「」という名前のファイルがない場合は、スケジュール"、 それから しっ 構成をチェックします
設定ファイルのディレクトリを作成し、現在のユーザーのディレクトリに追加します。 crontab(5) ファイルとして
付属の スケジュール パラメータ(以下を参照)。 名前が で始まるファイル
文字「#」または文字「~」で終わる文字は無視されます。

OPTIONS


-h 簡単なヘルプメッセージを表示します。

-V バージョン情報を表示します。 接頭辞を付ける -v コンパイル時のデフォルトを表示します。

-c DIR 設定を保存するディレクトリを指定します。

-s 施設
ロギングに使用する syslog 機能を定義します。

-S syslog ログを無効にします。

-v 情報ログ メッセージを標準出力にコピーします。

-f 高速モード: 任意の設定済み ランダムディレイ 無視されます。

-m コマンドの標準出力やエラーをリアルタイムに監視・表示します。

-k コマンドの出力ログ ファイルは完了時に削除せずに保存してください。

-C コマンドを実行せずに構成を確認します。

-H 〜へ サンプル HTML レポートを指定した受信者に送信します。

-R 〜へ サンプルを強化したレポートを指定した受信者に送信します。

-T 〜へ サンプル テキスト レポートを指定した受信者に送信します。

-i   crontab(1) 新しいものをインストールするには crontab(5) 現在のユーザーのファイル。 ユーザー
すでに持っていてはなりません crontab(5) ファイルにソフトウェアを指定する必要があります。

-u   crontab(1) 現在のユーザーを更新するには crontab(5) ファイルはすでに存在している必要があります
存在する。

-r によって追加されたエントリを削除します。 -u 現在のユーザーのオプション crontab(5).

CONFIGURATION


しっ 設定ファイルは、メイン セクション、レポート セクション、パラメーターで構成されます。
メインセクションでは、グローバルパラメータとレポートのデフォルトを定義します。 各レポート
このセクションは、括弧内のレポート名で始まります。 で始まる行
文字「#」は無視されます。 パラメータは XNUMX 回のみ指定する必要があります。 指定されている場合
複数回実行すると、特に記載がない限り、最後の出現を除くすべてが無視されます。
パラメータは次の構文を使用して定義されます。

=

または:

@hostname=

または:

%ID=

または最後に:

@hostname%ID=

XNUMX 番目と XNUMX 番目の形式は、次の場合を除き無視されます。 しっ 指定された環境で実行されています
ホスト名。 XNUMX 番目と XNUMX 番目の形式では、単一のインスタンスの複数のインスタンスを定義できます。
設定ファイル。 このような構成ファイルにはインスタンスが必要です ID で指定される
走る命令。 次の場合、XNUMX 番目または XNUMX 番目の形式を使用する設定行は無視されます。
  ID その行で見つかったものはインスタンスと一致しません ID 実行するために使用 しっ.

次のパラメータがメイン セクションに表示される場合があります。

command
実際に実行するコマンド。 しっ を実行する前に XNUMX つの環境変数を設定します。
コマンド: シュシュ_名前 に設定されています , シュシュ_ID に設定されています ID.

設定 これはデフォルトでメイン構成ファイルのフルパスになります。 残りのXNUMXつは
構成ファイル名は、「.stdout」と「.stderr」を追加することによって取得されます。
このパラメータの値に接尾辞を付けます。

ロック 設定されている場合、このパラメータは しっ を実行する前にロック ファイルを取得するには、
command、および次の場合に実行するアクションを定義します。 ロックファイル 別の人が握っている
プロセス。 形式は、カンマで区切られたアクションのリストです。 有効なアクションは次のとおりです。
期間(その間 しっ ただ待って、取得を試み続ける必要があります。
ロックファイル)、文字列「abort」(それを示します) しっ 即刻終了すべきだ
もし ロックファイル すでに存在します)、文字列「ignore」( しっ すべき
既存のものを無視する ロックファイル)、文字列「loop」(どこからやり直すかをマークするため)
すべてのアクションが実行されたとき) と文字列「notify=」の後にメールが続きます
通知メールを送信するアドレス。 アクションは
それらが提供される順序、および しっ を手に入れようとして永遠に待つことになるだろう ロックファイル
すべてのアクションが実行されると、文字列「loop」が定義されたもののいずれかである場合を除きます。
行動。 期間は、w(eeks)、d(ays)、h(ours) の単位で指定できます。
m(分)またはs(秒)。 単位が指定されていない場合は、分とみなされます。

ロックファイル
デフォルトでは、 しっ と同じディレクトリにあるファイルを使用します。
構成ファイルに保存され、構成名とホスト名に基づいて名前が付けられます。 代替品
ファイル名は、このパラメータを使用して指定できます。

ロックメッセージ
設定されている場合、この文字列はロック通知メール メッセージの件名として使用されます。
デフォルトは「[%u@%h] **保留中** %N [%t]」です。 を参照してください。 MAIL SUBJECT のセクション
フォーマットの詳細。

path しっ を設定する以外は環境を変更しません。 パス 変数の場合、 path
パラメータが設定されています。

ランダムディレイ
このパラメータが設定されている場合、 しっ 指定された時間まで待機します。
で呼び出されない限り、コマンドを開始します。 -f。 有効な時間単位は次のとおりです: s(秒)、
m(分)、h(私たちの)、d(数)、w(数)。 単位が指定されていない場合は、次のようにみなされます。
分。

スケジュール
これは、このコマンドをいつ cron ジョブとして実行するかを定義します。 crontab(5)互換性のある
フォーマット。 文字「;」を使用して複数のエントリを指定できます。 セパレータとして。
先頭に文字「#」が付いたエントリはスキップされます。 このパラメータはそうではありません
によって直接使用される しっ コマンドを実行しますが、 -i   -u オプション。

sendmail
これは、メールの送信に使用されるコマンドをオーバーライドするために使用できます。

shell デフォルトでは、Bourne シェルは sh(1) を実行するために使用されます command、任意のシェルを許可します
使用する構文。 このパラメータを使用して代替シェルを定義できます。

述べた
これは、ステータスが保存されるディレクトリを定義します。 しっ が保存され、デフォルトで
構成が配置されている場所の「.state」ディレクトリ。 エラーが発生する
このオプションが設定されていない限り、ディレクトリが存在しない場合。 これを設定する
空の文字列のオプションを指定すると、 しっ ステータスの保存から。 シュラスト(1)
これらの状態ファイルを使用して、実行中のインスタンスについてレポートします。 しっ 以前と同様に
走る

syslog このパラメータは によって使用される -i   -u オプションであり、他の影響はありません
しっ。 これにより、ログ記録に使用されるデフォルトの syslog 機能をオーバーライドできます。
コンパイル時に定義されます。 空白のままにすると、syslog の使用が抑制されます。

タイムアウト
このパラメータを使用すると、 command 走るかもしれない。 それは、
アクションのカンマ区切りリスト。 有効なアクションは次のとおりです: 期間 (その間
しっ ただ待つべきです command 終了する)、シグナル (「SIGNAME」のいずれか)
または「-SIGNUMBER」) に送信する必要があります。 commandのプロセスグループ、シグナル
(「=SIGNAME」または「=SIGNUMBER」のいずれか) に送信する必要があります。 shell スポーンに使用されます
  command、文字列「loop」(すべてのアクションが開始されたときにどこから再開するかをマークするため)
が実行されました)と文字列「notify=」の後にメールアドレスが続きます。
通知メールが送信されるはずです。 アクションはその順序で実行されます
提供され、そして しっ もしそうなら永遠に待ちます command すべてが完了してもまだ実行中です
文字列「loop」が定義されたアクションの XNUMX つである場合を除き、アクションは実行されています。
期間は、w(eeks)、d(ays)、h(ours)、m(inutes) の単位で指定できます。
s(秒)。 単位が指定されていない場合は、分とみなされます。

タイムアウトメッセージ
設定されている場合、この文字列はタイムアウト通知メールの件名として使用されます。
メッセージ。 デフォルトは「[%u@%h] **タイムアウト** %N [%t]」です。 を参照してください。 MAIL SUBJECT
形式の詳細については、セクションを参照してください。

次のパラメータは、設定内のどこにでも出現する可能性があります。 に指定されている場合は、
メイン セクションでは、レポートに適用されるデフォルト設定を定義します。
同じパラメータが定義されていません。

〜へ, cc, BCC
メールレポートの送信先。

テーマ
メールレポートの件名。 を参照してください。 MAIL SUBJECT 詳細については、「
形式でダウンロードすることができます。

ヘッダ 追加のメールヘッダー。 このパラメータは指定するために繰り返し使用できることに注意してください。
複数のヘッダー。 ただし、レポート (指定されている場合) または
main セクションは特定のレポートに使用されます。

ホストプレフィックス
デフォルトでは、指定されたサブジェクトには括弧内のホスト名が接頭辞として付けられます。
このパラメータを使用すると、このプレフィックスをカスタマイズできます。 正の整数は、
完全修飾ホスト名のコンポーネントをいくつ表示するか。 否定的
整数は、完全修飾ホスト名の末尾のコンポーネントの数を示します。
トリミングする必要があります。 整数のゼロは、プレフィックスを省略する必要があることを示します。
「」の場合、このパラメータは無視されます。テーマ" には任意の "%" 文字が含まれます。

ユーザー接頭辞
デフォルトでは、指定された件名には括弧内のユーザー名が接頭辞として付けられます。
このパラメータを使用すると、このプレフィックスを無効にすることができます。 ゼロ以外の値は、
ユーザー名を表示する必要があり、ゼロを指定するとプレフィックスが省略されます。 これ
「」の場合、パラメータは無視されます。テーマ" には任意の "%" 文字が含まれます。

出力 (以前 "標準エラー")

この 定義   コマンドの 標準 出力   標準 エラー   捕捉した  
報告 〜へ   ユーザー: 「まずい」、 「混合」、 「一番最初に」。 日時 「混合」、  
名前.stderr の監視 file is 無視されます。 日時 「まずい」 or 「最初に」、
個人 レポート かもしれません つかいます XNUMXつ of   フォロー中 2 追加の オプション 「限定的に」
  「間違って」。

形式でアーカイブしたプロジェクトを保存します. の出力を送信するメール メッセージ command XNUMXつの異なる方法で送信される場合があります
形式: 「テキスト」 (デフォルト)、「強化された」テキスト、または「html」。

サイズ制限
デフォルトでは、 command メールレポートで送信されます。 これ
パラメータを使用して、レポートに含まれる出力のサイズを制限できます。 ノート
この制限は影響を与えないため、送信されるメールの合計サイズは大きくなります。
メールヘッダー。 サイズはm、k、b、c(MB、KB、Bytes)の単位で指定できます。
単位が指定されていない場合は、KB とみなされます。 ゼロの制限は、次のことを示します。
出力を切り詰めないでください。

if レポートは送信されない場合にのみ送信されます。 if 条件が指定されている場合、または指定されている場合 if
条件は真です。 条件構文では通常の論理演算子が使用できます。
("||"、"&&"、"!")、比較演算子 ("=="、"!="、"<"、"<="、">"、">=)、および
基本的な算術演算子 (「+」、「-」)。 によって定義されたカウンタとは別に、
設定 ( COMMAND 出力 以下のセクション)、次の変数が考えられます。
利用される:

$exit コマンドが正常に終了した場合、これが終了コードになります。 それ以外の場合は、
負の値で、コマンドが実行された信号番号を示します。
終了 (例: -1 はシグナル番号 1 がコマンドを引き起こしたことを示します)
終了します)。

$size 出力サイズ (バイト単位)、「$outsize + $errsize」と同じ

$outsize
標準出力のサイズ (バイト単位)

$errsize
標準誤差のサイズ (バイト単位)

$lines 出力行数

$outlines
標準出力行数

$errlines
標準エラー行数

$ランタイム
command 実行時間 (秒単位)

$utime が使用するユーザー時間 command

$stime によって使用されるシステム時間 command

$tty 1 if しっ は端末から (対話形式などで) 実行され、それ以外の場合は 0 です。

MAIL 科目


ロックメッセージ""タイムアウトメッセージ"と"テーマ" パラメータには次のトークンが含まれる場合があります
これは以下のように展開されます。

%% キャラクター

%h ホスト名

%
や "%- 」

A 部分的な ホスト名: A 正の を示し 多くの コンポーネント of  
完全に 修飾 hostname 〜へ 保つ; a を示し 多くの
引きずります コンポーネント of   完全に 修飾 hostname 〜へ トリム

%i インスタンス ID

%n 構成

%N 構成 そしてインスタンス ID

%r レポート名

%t 経過時間。

%u ユーザー名。

%U ユーザーID。

「%」文字が「テーマ" パラメータに続いて、
"ホストプレフィックス"と"ユーザー接頭辞" パラメータは無視されます。

COMMAND 出力


後に command 終了します、 しっ の内容を使用します 名前.stdout  
名前.stderr ファイル (存在する場合) によって生成された出力を確認します。 command.

これらのファイルは単純な形式に従っています。 各行は XNUMX つの文字で構成されます (
カウンタ名) の後に正規表現が続きます。

すべてのカウンタは 0 (ゼロ) に初期化されます。 出力の各行はこれらと照合されます。
一致するものが見つかるまで正規表現を使用します。 一致するものが見つかった場合、関連するカウンター
は XNUMX ずつ増加します。 これらのカウンターはメイン設定の一部として使用できます。
「」でif" 設定パラメータにより、メール レポートの送信を決定できるようになります。
特定の正規表現が一致した回数に基づきます。

最後に、正規表現は、太字で表示される部分表現を定義する場合があります。
メールレポート。

文字「#」で始まる行はコメントとみなされ、無視されます。 に
最初の行が「#pcre」でない限り、デフォルトの標準正規表現が使用されます。
case Perl 互換の正規表現が使用されます。

ENVIRONMENT 変数


HOME もし -c オプションは使用されません、 しっ で設定ファイルを探します
$HOME/.shush.

SHUSH_SENDMAIL
定義されている場合、これは、 sendmail(1) バイナリ。 この変数はオーバーライドします
"sendmail" 構成設定なので注意して使用する必要があります。

TMPDIR 一時ファイルが作成されるディレクトリ。

実施例


次の設定は、毎日 9:00 に「shush -c /etc/shush -u」を実行し、ユーザーを更新します。
(ルート) crontab:

コマンド=shush -c /etc/shush -u
スケジュール=0 9 * * *
lock=notify=root root-logs,abort
タイムアウト = 5 分、ループ、通知 = ルート ルート ログ、15 分
stderr=最初
フォーマット=テキスト
件名=Crontab の毎日の更新
[ログ]
to=ルートログ
[読者]
if=$exit != 0 || $outlines != 1 || $errsize > 0 || U
to=ルート
フォーマット=リッチ

標準出力に関連する構成は次のとおりです。
オシュシュ: crontab が更新されました\.$
U^.+$

標準エラーの場合:
U^(.+)$

コマンドの実行中にロックが設定され、次の場合にはメールが「root」と「root-logs」に送信されます。
ロックが別のプロセスによって保持されている場合 しっ が始まります。その場合、 しっ 中止されます。 あ
「shush -c /etc/shush -u」をさらに実行すると、メールは「root」と「root-logs」にも送信されます。
5 分以上、最初の 15 分以降は 5 分ごと。

完了すると、出力は常に「root-logs」に送信されます。 さらに、出力
条件「$exit != 0 || $outlines != 1 || $errsize > 0 ||」の場合、「root」に送信されます。
U" は true です。この条件が true になるには、次のいずれかが true である必要があります。
コードがゼロではない、コマンドの標準出力が XNUMX 行ではない、出力があった
標準エラー、または最後に、カウンター「U」がゼロ以外です。 カウンタ「U」が非になるようにするには
ゼロの場合、「shush: crontab」という行以外の出力が標準出力に存在する必要があります。
最後に、標準エラーで生成された出力行が表示されます。
「root」に送信されるメールでは太字で表示されます。

onworks.netサービスを使用してオンラインでShushを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。