Как удалить файлы, когда их сумма достигает> N количество файлов?

У меня есть игровой сервер. Это автополучает снимки экрана игроков и хранилища в /home/gameserver/serverfiles/screenshots.

Я хочу удалить старые снимки экрана, когда это достигает 1000. Я имею в виду, являются ли это 1 000 снимков экрана, когда новый снимок экрана появляется, это автоудаляет 1000-й снимок экрана.

Как я могу сделать это, какие сценарии я могу использовать? Кто-либо может дать предложение или коды?

Примечание: Я использую Ubuntu 18.04, и у моего игрового пользователя сервера нет sudo доступа.

Я хочу поддержать свою папку снимка экрана для содержания макс. 1 000 изображений.

0
задан 27 August 2018 в 16:16

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, чтобы отредактировать его.

3
ответ дан 23 September 2019 в 04:24

Другие вопросы по тегам:

Похожие вопросы: