- /tmp란?
- 재부팅하면 안에 있는 파일들이 삭제 된다. 재부팅을 하지 않아도 정기적으로 10일마다 삭제
- /var/tmp란?
- 재부팅을 해도 파일들이 삭제되지 않는다. 정기적으로 30일마다 삭제
[root@localhost ~]# cat /usr/lib/tmpfiles.d/tmp.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
# Exclude namespace mountpoints created with PrivateTmp=yes
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp
- CentOS6까지는 /etc/cron.daily/tmpwatch 라는 스크립트가 위 디렉터리에 있는 파일들을 삭제하는데, CentOS7부터는 tmpwatch를 대신해 systemd-tmpfiles가 동작한다.
- systemd-tmpfiles의 설정 파일은 /usr/lib/tmpfiles.d/tmp.conf에 위치한다.
- 참고로 systemd-tmpfiles-clean.service 서비스에 의해서 파일이 삭제된다.
* 더 자세히 알고 싶으면 메뉴얼 페이지를 보자
[root@abc/tmp]# man tmpwatch
[root@abc/tmp]# vi /etc/cron.daily/tmpwatch
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \
-X '/tmp/pymp-*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch "$flags" -f 30d "$d"
fi
done
- 위와 같이 매일 한 번씩, atime/mtime/ctime 기준으로 10일 이상된 파일을 삭제하는 것으로 보이며, /var/tmp 의 경우는 보관기간이 30일로 더 긴 것으로 나온다.
Reference
https://sysops.tistory.com/208
'Programming > Linux' 카테고리의 다른 글
[Linux] rsync란? (0) | 2023.04.28 |
---|---|
[Linux] Nohup이란? (0) | 2023.03.10 |
[Linux] Crontab 이란? (0) | 2022.06.30 |
[Linux] at이란? (0) | 2022.06.30 |