SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

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 が太っていくのでパフォーマンスも落ちますね。

関連するメモ

コメント