当文件数量达到>N个时如何删除文件?

当文件数量达到>N个时如何删除文件?

我有一个游戏服务器。它会自动获取玩家的截图并存储在 /home/gameserver/serverfiles/screenshots

当截图达到 1000 张时,我想删除旧的截图。我的意思是,如果有 1000 张截图,当有新的截图时,它会自动删除第 1000 张截图。

我该怎么做?我可以使用哪些脚本?有人能给出建议或代码吗?

注意:我正在使用 Ubuntu 18.04,并且我的游戏服务器用户没有 sudo 访问权限。

我想维护一个可以容纳最多 1000 张图像的截图文件夹。

答案1

假设格式为 中的任何一种,jpg, jpeg and png您可以编写一个简短的脚本,该脚本计数并删除所有文件(如果计数为 )>=1000。一个简短的工作示例如下:

#!/bin/bash

count=`ls -l *.{jpg,jpeg,png} | wc -l`

if [ $count -gt 1000 ]
then 
    echo "Deleting old 1000 image files"
    for i in $(ls -lt *.{jpg,jpeg,png} | head -n 1000)
    do
        rm $i
    done
fi

然后,您可以添加此脚本,以便crontab每 10 分钟执行一次(例如)。输入crontab -e以编辑它。

相关内容