Linux清理临时文件

Linux清理临时文件,第1张

  Linux每次重启都会清理 /tmp 下的临时文件,但既是服务器,又怎么会经常重启呢?当时有人也使用 rm -rf /tmp/* ,但是 rm -rf /tmp/* 可能误删,也可能造成进程僵死。所以楼主推荐你使用 tmpwatch 命令。如果系统是最小安装的情况下,可能没有 tmpwatch 命令,如: -bash: tmpwatch: command not found ,这个时候首先要安装 tmpwatch 命令,执行命令: yum install tmpwatch -y 即可。

tmpwatch   删除临时暂存文件

参数:

-a或--all 删除所有类型的文件。 -f或--force 强制删除文件或目录,类似rm指令的 -f 参数。 -q或--quiet 不显示指令执行过程。 -v或--verbose 详细显示指令执行过程。 --test 仅作测试,并不真的删除文件或目录。

使用实例:

注: 执行结果如下:

在Linux系统中/tmp文件夹下的文件是会被清理、删除的,文件清理的规则是如何设定的呢? 在root/tmp文件下 hdfs在启动的时候回去找pid文件 在pid文件被删除的时候,hdfs是不能被关掉的,如果在启动,他会又重新启动一个,但是不是之前的那个,所以会导致蒙圈了。 Linux在tmp命令 定期删除一些文件和文件夹 30天周期 mkdir /data/tmp chmod -R 777 /data/tmp export HADOOP_PID_DIR=/data/tmp 为了避免pid文件在tmp中被删除,重新建一个路径/data/tmp,并给他777权限 chmod -R 777 /data/tmp,把pid文件放在这里边就不会被删除了 配置参数的更改 参数: -u 按照文件的最后access时间,即最后访问时间为参考。默认选项。可通过ls -lu查看。 -m 按照文件的最后modified时间,即最后修改时间为参考。可通过ls -l查看。 -c 按照文件的-ctime时间做参考,ctime更新的条件为写入、更改属主、权限。可通过ls -lc查看。 -M 按照目录的修改时间来删除目录而不是访问时间。 -a 删除所有类型文件。包括目录和symbolic links -d --nodirs 排除目录文件,即使是空目录。 -d --nosysmlinks 排除symbolic links类型文件。 -f 强制删除那些root没有写权限的文件。比如root的readonly文件 -q 只报告错误信息。 -x /PATH 排除特定目录,即不删除该子目录里的文件。 -U user_name 排除属于特定用户的文件,即不删除该用户的文件。 -v 显示删除过程。默认是不显示删除了什么文件,直接删除的。 -t 用于测试,并不真正删除文件,能显示出要删除文件的过程。 -d 不删除文件里的子目录,但是子目录里面的文件还是会被删除。 参数后加时间,默认是hours。也可以使用30d表示30天,但是有些版本只支持hours。 时间后是要检查的目录。可以多个目录用空格分开。如下所示表示720小小时~=30天。 如果你想将强制删除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即可。 转自: https://blog.csdn.net/qq_43688472/article/details/87872293

如果我们需要定时执行一些周期性重复性的任务,我们就会用到定时执行任务功能来帮我们自动执行每天、每周等周期性重复性的任务而不需要人为干预即可实现。

我们通过crontab –e来创建自己的定时任务,下图中的5个*的含义是,第一个*是分,第二个*是小时,第三个*是日,第4个*是月,第5个*是周,第6列是命令,下图的意思是给所有人发警告信息Hello,每隔一分钟就发送一次Hello信息。

我们可以通过crontab –l来查看当前的已创建的定时任务,可以发现当前有一个定时任务,通过crontab –r删除当前的定时任务,再次通过crontab –l去查看是否还有定时任务,发现已经成功删除了。

进入/etc目录,查看首字母为cron的目录,cron*,*在这里是通配符,匹配任意个字符,通过查看/etc目录下所有与定时任务相关的目录和文件。

通过cat crontab查看定时任务的故事,包括shell的位置、路径、默认邮件发给root账户、以及定时任务的格式,5个*的含义及第6列是写具体的命令。

我们可以看看系统里面的定时任务,有每小时执行的cron.hourly、每日执行的cron.daily、每月执行的cron.monthly、每周执行的cron.weekly.我们通过命令ll cron.daily可以看到里面有很多可执行文件,这些都是系统每天自动执行的定时任务。我们可以把自己建立的定时文件放在系统已有的目录下,比如每天的定时任务放在cron.daily下面。

系统常用的每天执行的定时任务,tmpwatch定时任务会去/tmp、/var/tmp临时目录下找超过10天的文件并删除,logrotate日志文件回滚,默认是一周回滚一次,1个月回滚4次,也就是日志只保存1个月,logwatch把当天最敏感的日志找出来形成一个电子邮件默认发给超级用户。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7149784.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存