Linux : /tmp 内の自動削除タイミング

  • /tmp 内のファイル等の削除タイミングは、systemdのtimerでコントロールされる
  • systemd-tmpfiles-clean.timer内にタイミングが記載されている
    • 起動後 15 分経過時に
    • 以降一日おきに実行
$ systemctl cat systemd-tmpfiles-clean.timer

・・・

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
$ 

  • systemd-tmpfiles-clean.service のサービス内で systemd-tmpfiles –clean が実行される
  • /usr/lib/tmpfiles.d内のtmp.conf の記載内容にそって処理される
    • /tmp は10日間アクセス・更新がないファイルは削除される
    • /var/tmp は30日間アクセス・更新がないファイルは削除される

$ pwd
/usr/lib/tmpfiles.d
$ 
$ cat tmp.conf
 
・・・

# Clear tmp directories separately, to make them easier to override
q /tmp 1777 root root 10d
q /var/tmp 1777 root root 30d
$
  • q /tmp 1777 root root 10d
    • タイプ (Type)
      • q : ディレクトリの作成・属性変更を行う。また、指定期間を超えたファイルを削除対象とする
    • パス (Path)
      • /tmp:設定を適用するディレクトリやファイルのパスを指定する
    • モード (Mode) / UID / GID
      • 1777:アクセス権限(パーミッション)
        • 1777 は、だれでも書き込めるが他人のファイルは削除できない
      • root: 所有者
      • root: 所有グループ
      • 保持期間:ファイルが作成・アクセスされてから削除されるまでの期間(10dは10日)

systemd-tmpfiles による自動クリーンアップ

  • systemd-tmpfiles-clean.timerとsystemd-tmpfiles-clean.serviceの関係
    • .timerは同名のsystemd-tmpfiles-clean.serviceを実行するタイミングをセットする

$ sudo systemctl list-timers systemd-tmpfiles-clean
NEXT                        LEFT          LAST                        PASSED  UNIT                         ACTIVATES                     
Fri 2026-09-11 18:36:02 JST 5h 35min left Thu 2026-09-10 18:36:02 JST 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

1 timers listed.
$ 

備考:

  • Ubuntu 22.04.5 LTS
  • AlmaLinux release 9.8 (Olive Jaguar)
  • AlmaLinux release 10.2 (Lavender Lion)