У меня есть игровой сервер. Это автополучает снимки экрана игроков и хранилища в /home/gameserver/serverfiles/screenshots
.
Я хочу удалить старые снимки экрана, когда это достигает 1000. Я имею в виду, являются ли это 1 000 снимков экрана, когда новый снимок экрана появляется, это автоудаляет 1000-й снимок экрана.
Как я могу сделать это, какие сценарии я могу использовать? Кто-либо может дать предложение или коды?
Примечание: Я использую Ubuntu 18.04, и у моего игрового пользователя сервера нет sudo доступа.
Я хочу поддержать свою папку снимка экрана для содержания макс. 1 000 изображений.
Предполагая, что форматом является любой из 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
, чтобы отредактировать его.