Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 扩展特定限制时从unix服务器删除文件_Linux_Shell_Unix - Fatal编程技术网

Linux 扩展特定限制时从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

我编写了一个脚本,从unix服务器检索数据使用情况,并发送电子邮件通知同事。现在我想在if语句中插入一个块,以便删除一些两天以前的文件+

我尝试了remove命令,但是我对路径有点迷茫(顺便说一句,文件存储在unix服务器中)。请在下面找到我的代码

    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中没有任何子目录,可以将其删除