Debian系(Ubuntu)でテンポラリフォルダの自動削除

Debian系(Ubuntu)で、

テンポラリフォルダが肥大化しており、

削除コマンドで削除して対応したが、

何度も同じ対応をするのは面倒なので、

削除を自動化する対応をした時のメモ。

経緯

基本的に、Debian系であれば、

今回と同じ対応になるかと思います。

自分の状況としては、

Dockerコンテナで立ち上げた環境が、

Debian系であることが多いので、

その時の対応になります。

テンポラリ削除の自動化の設定(systemdで対応の場合)

デフォルトの設定については、

/usr/lib/tmpfiles.d/tmp.conf

にあるようなので、

このファイルを確認してみました。

vi /usr/lib/tmpfiles.d/tmp.conf

確認してみたところ、

D /tmp 1777 root root -

となっており、

これはファイルを削除しない設定。

上記のファイルがデフォルトの設定ですが、

直接、上記のファイルを変更するか、

どのファイルを用意するか調べたところ、

  • /usr/lib/tmpfiles.d/ → デフォルト設定(変更しない)。
  • /run/tmpfiles.d/ → 一時的な設定(リブート時にクリア)。
  • /etc/tmpfiles.d/カスタム設定(推奨される変更場所)

という感じでした。

上記について、

/etc/tmpfiles.d/

に設定ファイルを追加します。

追加ファイル

/etc/tmpfiles.d/tmp.conf

編集コマンド

vi /etc/tmpfiles.d/tmp.conf

追加する内容

v /tmp 1777 root root 1d

次に、反映処理

systemctl restart systemd-tmpfiles-clean

上記の設定タイマーの確認

systemctl status systemd-tmpfiles-clean.timer

テンポラリ削除の自動化の設定(cronで対応の場合)

すでにcronが入っていること前提ですが、

入ってなければ、以下のコマンドで導入

apt-get update && apt-get install cron -y

設定コマンド

crontab -e

設定内容

@daily find /tmp -type f -mtime +1 -exec rm -f {} \;

または、

0 3 * * * find /tmp -type f -mtime +1 -exec rm -f {} \;

のどちらかを設定

設定できたかを確認

crontab -l

cronの稼働状況

ps aux | grep cron

起動してなかったら以下のコマンド

/etc/init.d/cron start

コメント一覧

コメントはまだありません。

コメント送信

コメントを残す

ピックアップ

こちらもおすすめ

初心者向けの色々な情報はあるけれど、

  • 無料でお試しができるスクール
  • ホームページなど簡単に作成できる
  • 組織で使いたいサービス

について、

少しでも試して良いものがあると、

それを活用することで学習や業務などが効率化できるので、

おすすめのサイトなどをいくつか紹介しておきます

おすすめ書籍

広告

おすすめ記事