wkhtmltopdf で /tmp/ に大量の一時ファイルができる
問題
wkhtmltopdf を使っているシステムで、/tmp に大量の一時ファイル wktemp-* ができているのですが、正常な動作ですか?
wktemp-037579fb-e75d-47d3-903b-95e821e75c9c.html wktemp-fc5547b1-e24d-4036-a377-5ffae4e3daba.html wktemp-5241a629-c0a5-4719-a8d4-bed91453bbd1.html wktemp-9b7b0063-fc46-45f9-83c7-27dbeff26e54.html wktemp-b09c0398-a354-4f3b-b81f-09c5d66861b5.html wktemp-c40f2717-60c6-475f-b004-f3fcca178ea1.html (以下略)
放置していたら inodeが枯渇して、システムが動かなくなりました。。。
答え
不具合らしいです。
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3498
0.12.6 でも修正されていないので、cronなどで削除するのがよいと思います。
cron設定例)
*/5 * * * * /usr/bin/find /tmp -maxdepth 1 -name 'wktemp*.html' -mmin +3 -delete
上の例では5分おきに削除しているが、それほど急激にファイルが増えないようなら1時間おきや1日おきでもよいでしょう。
+3 は実行後3分も待てば消していいだろうという考えです。1分でもいいかもしれません。
放置すると /tmp が太っていくのでパフォーマンスも落ちますね。
コメント