Linux 扩展特定限制时从unix服务器删除文件
我编写了一个脚本,从unix服务器检索数据使用情况,并发送电子邮件通知同事。现在我想在if语句中插入一个块,以便删除一些两天以前的文件+ 我尝试了remove命令,但是我对路径有点迷茫(顺便说一句,文件存储在unix服务器中)。请在下面找到我的代码Linux 扩展特定限制时从unix服务器删除文件,linux,shell,unix,Linux,Shell,Unix,我编写了一个脚本,从unix服务器检索数据使用情况,并发送电子邮件通知同事。现在我想在if语句中插入一个块,以便删除一些两天以前的文件+ 我尝试了remove命令,但是我对路径有点迷茫(顺便说一句,文件存储在unix服务器中)。请在下面找到我的代码 SPACE=$(df -P /data |tail -1 |awk '{print $5}' |cut -d '%' -f1) echo $SPACE if [ "$SPACE" -gt 75 ]; then echo "Warnin
SPACE=$(df -P /data |tail -1 |awk '{print $5}' |cut -d '%' -f1)
echo $SPACE
if [ "$SPACE" -gt 75 ]; then
echo "Warning you run out of space,Please delete from server" | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
else
echo "Enough space " | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
fi
提前感谢,,
Panos您好,您可以使用
find
命令轻松完成此操作,如下所示:
find /data/ -mindepth 1 -type f -mtime +2 | xargs rm
在上述命令中,find
将搜索/data下的所有文件,并列出2天之前的文件,并通过管道重定向到rm
命令,该命令将永久删除这些文件
现在,您需要修改脚本,如下所示:-
SPACE=$(df -P /data |tail -1 |awk '{print $5}' |cut -d '%' -f1)
echo $SPACE
if [ "$SPACE" -gt 75 ]; then
echo "Warning you run out of space,Please delete from server" | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
find /data/ -mindepth 1 -type f -mtime +2 | xargs rm
else
echo "Enough space " | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
fi
希望这会有所帮助非常感谢@Abhijit Pritam!!你帮了我大忙!真是太娘娘腔了。嘿,完成了!我可以问你一件事吗?下面的代码完美地完成了我的工作,删除了我想要的文件。“find/data/-mindepth 1-type f-mtime+2 | xargs rm”,即使我没有使用“-mindepth 1”命令。我也在互联网上搜索,但我找不到它做什么?你能解释一下吗?据我所知是检查文件大小吗?是否超过“1”?或者类似的东西?这是用于查找命令的参数,用于限制在文件系统中搜索文件。如果/data中没有任何子目录,可以将其删除