- /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

https://infrajp.tistory.com/18

'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

+ Recent posts