<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cron on shimoju.diary</title><link>https://shimoju.jp/tags/cron/</link><description>Recent content in Cron on shimoju.diary</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Mon, 09 Oct 2017 20:45:52 +0900</lastBuildDate><atom:link href="https://shimoju.jp/tags/cron/index.xml" rel="self" type="application/rss+xml"/><item><title>DockerでcronしたいときはBusyBox crondが便利</title><link>https://shimoju.jp/2017/10/09/busybox-crond/</link><pubDate>Mon, 09 Oct 2017 20:45:52 +0900</pubDate><guid>https://shimoju.jp/2017/10/09/busybox-crond/</guid><description>&lt;p&gt;Dockerコンテナでプログラムを定期実行したいとき、それぞれの言語で実装されたタスクスケジューラを使うほか、手っ取り早くcronを使ってしまう方法もあります。しかしDockerで使うにはやや面倒な点があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cronで実行するプログラムにコンテナに設定した環境変数を渡したい
&lt;ul&gt;
&lt;li&gt;環境変数が独立しているのはcronのよくあるハマりどころですね&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/rerofumi/items/fc0126c4e985b78f769b"&gt;ファイルに書き出して読み込んで&lt;/a&gt;、とやるのは面倒&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ログは標準出力・標準エラー出力に書き出したい
&lt;ul&gt;
&lt;li&gt;標準出力に出せば&lt;code&gt;docker logs&lt;/code&gt;で扱えるし、ファイルだとローテートが面倒&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このようなとき、&lt;a href="https://busybox.net/"&gt;BusyBox&lt;/a&gt;に含まれるcrondを使うと、以上の課題を解決してシンプルに定期実行することができます。&lt;/p&gt;</description></item></channel></rss>