Надеюсь, нам не нужно беспокоиться о том, есть ли у нас одна папка или несколько папок. если мы удалим файлы с измененным временем.
Просто проверьте Хранилище и удалите 10 самых старых файлов в папке
if [ $CurrentStorage -ge $StorageThreshold ];
then
find $RootFolder -type f -printf '%T+ %p\n' | sort | head -n 10 | awk '{print $NF}' | xargs rm -f
else
echo "Storage threshold not yet reached."
fi
-type f -printf '%T+ %p\n'
распечатать файлы с отметкой времени последнего изменения. sort
, чтобы получить самый старый файл сверху. head -n 10
, чтобы получить 10 самых старых файлов. awk '{print $NF}'
, чтобы извлечь путь к файлу. xargs rm -f
удалить извлеченные файлы.Для MAC:
find $RootFolder -type f -print0 | xargs -0 ls -ltr | head -n 10 | awk '{print $NF}' | xargs rm -f
Да и пустая папка вряд ли займет место в 4Кб. Если вы хотите удалить все пустые папки, кроме последней, включите приведенный ниже код.
find $RootFolder -type d -empty -printf '%T+ %p\n' | sort | head -n -1 | xargs rm -rf
Или
ls -lt $RootFolder/* | awk -F ":" '/total 0/{print last}{last=$1}' | tail -n +2 | xargs rm -rf
Я понял, почему docker продолжает воссоздавать мосты. Кажется, они хранятся в /var/lib/docker/network/files/local-kv.db
, бинарном файле (BoltDB ), что объясняет, почему я не поймал его с помощью grep
.
Удаление файла и перезапуск Docker решили мою проблему. Следующие команды (выполняются в zsh
, другие оболочки могут отличаться )удаляют все мосты, вышеупомянутый файл и перезапускают службу докера. После этого я могу создать сеть докеров без ошибок.
while read; do
if [ ! -z "$REPLY" ]; then
sudo ip link del $REPLY
fi
done <<<"$(brctl show | grep '^br-' | awk '{print $1}')"
sudo rm /var/lib/docker/network/files/local-kv.db
sudo systemctl restart docker