指定されたファイルが存在しない場合にメールを送信する

指定されたファイルが存在しない場合にメールを送信する

次の作業を行う必要があります。

毎晩10時と翌日の午前3時に/ xフォルダに2つのファイルが保存されます。 /xフォルダを調べてファイルが存在することを確認し、それに応じて毎日メールを送信するスクリプトを作成する必要があります。

ファイル形式:

  • ValuationIR**02092013**_0326(ファイル名パターンValuationIR<date>_<time>.csv:)
  • SnapshotIR**02082013**_2238 (ファイル名パターンSnapshotIR<date>_<time>.csv:)

ベストアンサー1

これら2つのファイルが存在することを確認し、存在しない場合は電子メールを送信する必要がある場合は、次のようにして問題はありません。

test -f file1 -a -f file2 || ( echo "Either file1 or file2 doesn't exist" | sendmail ... )

括弧は必ずしも必要ではありませんが、明確にするために含まれています。 bash機能を使用すると、より読みやすく簡単に拡張できますが、これはシェルに拘束されません(ほとんどのシェルには同じことを行う方法があります)。

send_mail() {
    echo "message text" | sendmail ...
}
test -f file1 -a -f file2 || send_mail

必要に応じてさらに拡張できますが、始めるには上記を参照してください。

スクリプト自体が期待どおりに機能したら、それをユーザーのcrontabに追加して、毎晩指定された時間に実行できます。

おすすめ記事