Чистка Docker volume bash скриптом
Введение | |
Пример | |
Похожие статьи |
Введение
В этой статье вы можете изучить скрипт с помощью которого на
Ubuntu Linux
чистится место, занятое кафкой в
Docker контейнере
.
О том как искать файлы, которые занимают много места вы можете прочитать в статье
«Свободное место на диске в Linux»
В этом скрипте подразумевается, что переменной VOLUME присвоено значение, соответствующее реальной volume.
Пример
После того как указана VOLUME нужно определиться с тем какие файлы подлежат удалению. В этом примере удаляются файлы с расширеним log, index, timeindex.
Топики кафки перечислены в массиве topics
#!/bin/bash # Should be run with sudo: # sudo free_docker_volume_space.sh VOLUME=9f58ba6e027622d11fdc5a67abee3bwc530bf412e1001dd14af7c5ad98ba7c4c EXTENSIONS=(log index timeindex) declare -a topics=("topic1" "topic2" ) for topic in "${topics[@]}"; do echo "Removing ${topic} related logs and indexes" TOPIC_PATH="/var/lib/docker/volumes/${VOLUME}/_data/${topic}" cd $TOPIC_PATH for file in ./*; do EXT="${file##*.}" if [[ " ${EXTENSIONS[*]} " =~ " ${EXT} " ]]; then echo "Removing ${FILENAME}"; rm $file fi done done
Автор статьи: Андрей ОлеговичBash скрипты | |
Основы скриптов | |
Работа с файлами в директории | |
.svg → .png | |
Разрезать mp3 на части Bash | |
Чистка Docker Volume | |
Свободное место на диске |