通知アラートのスクリプトでの日付計算

通知アラートのスクリプトでの日付計算

アカウントの有効期限アラートを作成したいので、有効期限の 1 か月前に電子メールでアラートを送信できるスクリプトを作成する必要があります。私は Linux で作業しています。

有効期限情報は 2015-27-03 として取得できます。現在の日付を判別して 2015-27-03 に 31 日残っているかどうかを確認して、電子メール アラートを受け取りたいのですが、正しい if ステートメントを記述できません。

答え1

あまり多くの情報や例が提供されていないため、どこで行き詰まっているのかよくわかりませんが、次のコマンドを検討することができます。

  • chage -l userNameユーザーのパスワードの有効期限を確認する
  • mailユーザーまたは管理者(または両方)にメールを送信する(Graeme のコメントにあるように)

これら 2 つのコマンドを使用すると、パスワードの有効期限を確認する簡単なスクリプトを作成できるはずです。

crontabスケジュール設定(たとえば毎日)にも使用できます。

編集:

詳細情報を編集した後、次のように試してください。

# Get the current date in seconds since 1970
current_date=`date "+%s"`
# Convert the date you want to check in seconds since 1970
date_to_check=`date -d 2015/03/31 +"%s"`
# Calculate the difference in seconds
date_diff=`expr $date_to_check - $current_date`
# Check whether the difference is greater than 31 days (2678400 seconds)
if [ `expr $date_diff - 2678400` -gt 0 ]
then
    echo More than 31 days left
else
    echo Less than 31 days left
fi

関連情報