Bash - скрипт для создания архивов в директории Linux - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

Скрипт автоматически создаёт zip-архивы для всех поддиректорий внутри заданной папки.

#!/bin/bash

BASE_DIR="/home/user1/domains"

cd "$BASE_DIR" || exit 1

for dir in */; do
    dir="${dir%/}"

    echo "Обрабатываю: $dir"

    chown -R user1:user1 "$dir"

    rm -f "${dir}.zip"

    zip -rq "${dir}.zip" "$dir"

    chown user1:user1 "${dir}.zip"
done

echo "Все архивы созданы."

Что делает скрипт

  • Переходит в директорию /home/user1/domains
  • Перебирает все вложенные папки
  • Меняет владельца каждой папки на user1:user1
  • Удаляет старый zip-архив, если он существует
  • Создаёт новый zip-архив с содержимым папки
  • Назначает владельца архива
  • Выводит сообщение о завершении

Резюме

Скрипт полезен для регулярного бэкапа или переноса сайтов/проектов, когда нужно быстро запаковать каждую директорию в отдельный архив с правильными правами доступа.

×
Реклама
ИКС