※ この記事は公開されてから1年以上経過しているため、情報が古い可能性があります。

最近になって、やっとSpring Batchなるものを知りました(^ω^;)
しばらくJava系の勉強から離れていたもので… ← 言い訳(爆)

ということで、まきさんのブログを参考にさせていただいたり、Qiitaの投稿記事や英語のサイト、@Configurationの仕組みを知るためにソースをダウンロードしたりして、コツコツ勉強しました。
いやいや、なんとも便利なものです(・∀・)
まぁ何かを作ったらGitHubにあげようと思います<(_ _)>

その中で@Scheduledという繰り返し機能を知ったのですが、これがまた便利で、cronの機能もあったりします。
ただ、実行される度にDBに実行結果がINSERTされるので、結構肥大化してきます。
大した件数ではないものの、やはり10秒毎とかになってくるとそこそこの件数です。

そこで、指定日以前のデータはごっそり削除するシェルを作成してみました!

毎度ながらコードはGistに上がってますので、そちらを加工したりして使ってみてください(・∀・)
各種サイトを参考に作らせていただいてますので、当然フリーライセンスでございます!

特に以下のサイトを参考にさせていただきました!
ありがとうございます!

参考

https://sites.google.com/site/soracane/home/springnitsuite/spring-batch/83-can-kao-springbatchteburunodetakurin

参考サイトにもあるように、DELETEを実施する順番が大事です。
実際にこちらのサイトを見ると分かる通り、FOREIGN KEYがガッツリ貼られているのでこれを回避するようにSQLを実行しなくてはいけません。
それと全件消してしまわないことだけ気をつければ、後は自由に消せると思います♪

こちらのシェルですが、cronで実行しても問題ないように1トランザクション内で実行するように作っています。(多分…)
ツッコミがあればご指摘ください>(_ _)<

というものを作りました…というお話でした(`・ω・´)