TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.63K subscribers
Post #952 1.36K
Работа с временными каталогами через mktemp!

При написании скриптов важно безопасно создавать временные файлы и каталоги. Для этого используется утилита mktemp, которая создаёт уникальные имена и исключает гонки (race conditions).

Создание временного файла:
mktemp


Команда создаёт файл в /tmp и выводит его путь.

Создание временного каталога:
mktemp -d


Флаг -d создаёт каталог вместо файла.

Создание файла с собственным шаблоном имени:
mktemp /tmp/script.XXXXXX


XXXXXX заменяются случайной последовательностью символов.

Использование временного файла в shell-скрипте:
tmpfile=$(mktemp)
echo "data" > "$tmpfile"


Путь сохраняется в переменную, после чего файл можно использовать внутри скрипта.

Создание временного каталога для обработки данных:
tmpdir=$(mktemp -d)
cp *.log "$tmpdir"


Часто используется при обработке архивов или промежуточных файлов.

Автоматическая очистка временного файла через trap:
tmpfile=$(mktemp)
trap 'rm -f "$tmpfile"' EXIT


trap гарантирует удаление временного файла при завершении скрипта.

Создание файла в конкретном каталоге:
mktemp -p /var/tmp backup.XXXXXX


Полезно, если требуется другой каталог вместо /tmp.

🔥 Использование mktemp считается стандартной практикой для shell-скриптов — ручное создание файлов в /tmp через фиксированные имена может привести к конфликтам и проблемам безопасности.

➡️ DevOps Ready | #практика
  • 👍 10
  • 🔥 8
  • 🤝 8
More from @devops_ready
  1. Oct 2, 2026Знали, почему настройки systemd-сервиса лучше менять через systemctl edit? Допустим, прило…
  2. Oct 2, 2026⚡️5 фундаментальных курсов по ИБ по цене одного Это предложение для тех, кто готов войти в…
  3. Oct 2, 2026Этот инструмент поможет поять из чего на самом деле состоит Docker-образ! Он содержит терм…
  4. Oct 1, 2026Проверяем итоговую конфигурацию Docker Compose перед запуском! Когда проект использует баз…
  5. Oct 1, 2026🔄 Безопасный арсенал практических инструкций, курсов и инструментов 👩‍💻 Linux & Bash 🤔…
  6. Oct 1, 2026Шпаргалка по жизненному циклу Pod в Kubernetes! На картинке показано, как запрос проходит…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →