Linux tmp目錄自動清理 及解決方法

在Linux系統(tǒng)中/tmp文件夾下的文件是會被清理、刪除的,文件清理的規(guī)則是如何設(shè)定的呢?
在root/tmp文件下

-rw-rw-r-- 1 hadoop hadoop    5 Feb 16 20:56 hadoop-hadoop-datanode.pid
-rw-rw-r-- 1 hadoop hadoop    5 Feb 16 20:56 hadoop-hadoop-namenode.pid
-rw-rw-r-- 1 hadoop hadoop    5 Feb 16 20:57 hadoop-hadoop-secondarynamenode.pid

hdfs在啟動的時候回去找pid文件
在pid文件被刪除的時候,hdfs是不能被關(guān)掉的,如果在啟動,他會又重新啟動一個,但是不是之前的那個,所以會導(dǎo)致蒙圈了。

Linux在tmp命令 定期刪除一些文件和文件夾 30天周期

解決方法一:

[hadoop@hadoop002 hadoop-2.6.0-cdh5.7.0]$ vi /etc/hadoop/hdaoop_env .sh
# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by 
#       the user that will run the hadoop daemons.  Otherwise there is the
#       potential for a symlink attack.
export HADOOP_PID_DIR=${HADOOP_PID_DIR} 

mkdir /data/tmp
chmod -R 777 /data/tmp
export HADOOP_PID_DIR=/data/tmp
為了避免pid文件在tmp中被刪除,重新建一個路徑/data/tmp,并給他777權(quán)限 chmod -R 777 /data/tmp,把pid文件放在這里邊就不會被刪除了

解決方法二:

配置參數(shù)的更改
參數(shù):
-u 按照文件的最后access時間,即最后訪問時間為參考。默認選項??赏ㄟ^ls -lu查看。
-m 按照文件的最后modified時間,即最后修改時間為參考??赏ㄟ^ls -l查看。
-c 按照文件的-ctime時間做參考,ctime更新的條件為寫入、更改屬主、權(quán)限。可通過ls -lc查看。
-M 按照目錄的修改時間來刪除目錄而不是訪問時間。
-a 刪除所有類型文件。包括目錄和symbolic links
-d --nodirs 排除目錄文件,即使是空目錄。
-d --nosysmlinks 排除symbolic links類型文件。
-f 強制刪除那些root沒有寫權(quán)限的文件。比如root的readonly文件
-q 只報告錯誤信息。
-x /PATH 排除特定目錄,即不刪除該子目錄里的文件。
-U user_name 排除屬于特定用戶的文件,即不刪除該用戶的文件。
-v 顯示刪除過程。默認是不顯示刪除了什么文件,直接刪除的。
-t 用于測試,并不真正刪除文件,能顯示出要刪除文件的過程。
-d 不刪除文件里的子目錄,但是子目錄里面的文件還是會被刪除。

參數(shù)后加時間,默認是hours。也可以使用30d表示30天,但是有些版本只支持hours。 時間后是要檢查的目錄??梢远鄠€目錄用空格分開。如下所示表示720小小時~=30天。

[root@DB-Server ~]#  more /etc/cron.daily/tmpwatch
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_*' 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 720 "$d"
    fi
done
[root@DB-Server ~]# 

如果你想將強制刪除30天沒有訪問的文件改為7天,只需"/usr/sbin/tmpwatch “f l a g s " 720 / v a r / t m p " 和 " / u s r / s b i n / t m p w a t c h " flags" 720 /var/tmp"和"/usr/sbin/tmpwatch "flags"720/var/tmp"和"/usr/sbin/tmpwatch"flags” -f 720 “$d” 里面的720改為189即可。

轉(zhuǎn)自:https://blog.csdn.net/qq_43688472/article/details/87872293

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容