例えばmysqlにテーブルがあり日付のカラムのデータが12月4日だとすると12月1日になるとメールを自動送信するプログラムです。
ちなみに3日前というのは.bash_profiileに書かなければいけないのですが、もとから途中まで書いてある環境変数PATHの下に$daysago=3と書けば定数は読み込んでくれるのでしょうか?
簡単に要約するとmysqlのカラム日付の何日前もしくは何日後になったら、shellでメールを送る処理です。
途中まで書いたとこ
特に下の例のwhere カラム betweenのとこの(カラム)はちゃんと日にちとしてshellで読み込んでくれるのでしょうか?
読み込んでくれるなら3日前の処理も知りたいです。
カラムは('20171201230010','YYYY/MM/DD HH24:MI:SS')です
難しいと思うのですが、すみませんよろしくお願いします。
sendmail.sh
!/bin/sh
content=mysql -h 192.168..** -u my_user --password=*** --database=DB_name -e "select * from table_name where カラム between ADDDATE( CURRENT_DATE() , interval '3' DAY ) and ADDDATE( CURRENT_DATE() , interval '4' DAY )" 2>&1
echo "$content" | mail -s "Reminder" "hoge@example.jp"
~
.bash_profile
Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
$daysago=3
~
crontab -e
0 9 * * * * sh sendmail.sh
~
sendmail2.sh
/bin/sh
if[カラムの日にちの3日前になったら]; then
crontab -e
fi
説明へたくそですみませんよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。