我有一个游戏服务器。它会自动获取玩家的截图并存储在 /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
以编辑它。