質問: 例えばMYSQLにある12月1日に完成させなくてはならないマスタを3日前になっても完成しないと忠告メールを自動送信するプログラムをshellで書きたいです。 ちなみに日にちの定数は.bash_profileで設定したいです。 ちなみにshellはcentos6.4です。 大変分かりづらいと思うのですが、分かる方ご回答お願いします。 特にshellでsqlのテーブルの日付を読み込むのと、profileの定数を読み込みたいです。 書いたshell script sendmail.sh /bin/sh content=`mysql -h 192.168.*.** -u my_user --password=**** --database=DB_name -e "select * from table_name where date_name 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 hoge=3 crontab -e 1 0 * * * * sh sendmail.sh
回答: 作りの部分は皆様が答えてますので、そもそものところを私は記述させて貰います。 > > 例えばMYSQLにある12月1日に完成させなくてはならないマスタを3日前になっても完成しないと > > > 何をもって「完成」とするかの定義が必要かと思います。(回答者も困ります) テーブルだけ作成しているだけでは完成では無く、項目定義の中身まで見ないと完成と見なせないのかなと思います。 目的がプロジェクトの進捗管理であれば、炎上するだけかなと思います。