sql文を定時処理するスクリプト

cronの設定をしようとしたら、最初の起動だったらしくeditor選べと言われた。デフォルトではnanoになってたが、あまり使ったことないのでvimにしておいた。nanoってどんな具合なんだろうか??

シェルスクリプトを書く

DATE=`date -d '24 hours ago' '+%Y-%m-%d %H-%M-%S'`
mysql -u root -pxxxxxxxx -e "delete from hogehoge_db.fugafuga where some_flag = 1 and DATE_FORMAT(some_day,'%Y-%m-%d %H-%i-%s') < '${DATE}';"

これでよし。次にこいつに実行権限をつける

sudo chmod +x hogehoge.sh

でcronの設定。

crontab -e

これで冒頭の設定画面が出てくる。editorを選んだら設定画面が出てくるのでここに設定を書き込む

01 0-23/3 * * * /fugafuga/local/bin/hogehoge.sh

細かな設定等は以下のサイトにお世話になりました。

cronの設定