linux是一个很能手动形成文件的系统,日志、邮件、备份等。即使现今硬碟廉价,我们可以有好多硬碟空间供那些文件浪费,让系统定时清除一些不须要的文件很有一种爽快的事情。不用你去每晚惦念着是否须要清除日志,不用每晚收到硬碟空间不足的报案邮件,想好好休息的话,让我们把这个事情交给机器定时去执行吧。
1.删掉文件命令:
find对应目录-mtime+天数-name"文件名"-execrm-rf{};
实例命令:
find/opt/soft/log/-mtime+30-name"*.log"-execrm-rf{};
说明:
将/opt/soft/log/目录下所有30天前带".log"的文件删掉。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清除的任意目录;
-mtime:标准句子写法;
+30:查找30天前的文件,这儿用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩充名为jpg的所有文件linux 删除文件,"*"表示查找所有文件,这个可以灵活运用linux 目录里的文件自动发邮件linux deepin,举一反三;
-exec:固定写法;
rm-rf:强制删掉文件,包括目录;
{};:固定写法linux 目录里的文件自动发邮件,一对大括弧+空格++;
2.计划任务:
若嫌每次自动执行句子太麻烦,可以将这小句子讲到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统手动去清除相关文件。
2.1创建shell:
touch/opt/soft/bin/auto-del-30-days-ago-log.sh
chmod+xauto-del-30-days-ago-log.sh
新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限
2.2编辑shell脚本:
viauto-del-30-days-ago-log.sh
编辑auto-del-30-days-ago-log.sh文件如下:
#!/bin/sh
find/opt/soft/log/-mtime+30-name"*.log"-execrm-rf{};
ok,保存退出(:wq)。
2.3计划任务:
#crontab-e
将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点手动执行
输入:
100***/opt/soft/log/auto-del-7-days-ago-log.sh>/dev/null2>&1
这儿的设置是每晚晚上0点10分执行auto-del-7-days-ago-log.sh文件进行数据清除任务了。
完成以上三步,你就再也不每晚挂念是否硬碟空间满了,该清除日志文件了,再也不会遭到服务器硬碟空间不足的报案信息了,放心的去看书喝奶茶去吧!