#!/bin/bash echo "Создание общего архива для каталогов проектов на текущую дату." filename="pomodoro-$(date '+%Y-%m-%d').zip" cd ../.. # выход из папки и из репозитория time_ms="$(date '+%s%3N')" rm -vf "$filename" # удаление старого файла # поиск всех каталогов на одном уровне с текущим, кроме папки ".idea", сортировка и добавление # в общий архив их содержимого, за исключением неотслеживаемых файлов по спискам ".gitignore" find . -mindepth 1 -maxdepth 1 -type d -not -path "*.idea*" -printf '%P\n' | sort | xargs -I{} bash -c \ "echo 'Обработка += {}' && 7z u -tzip $filename {} -xr!'.git' -xr@'{}/.gitignore' &>/dev/null" # вывод общей информации о целостности полученного архива 7z t "$filename" |& grep -E '\S' | grep -E "\-\-|ERROR" -A20 # замер продолжительности выполнения в миллисекундах, пересчёт в минуты, секунды и миллисекунды tms="$(($(date '+%s%3N') - time_ms))" && min="$((tms / 1000 / 60))" && sec="$((tms / 1000 % 60))" ms="$((tms % 1000))" && printf 'Общее время выполнения: %02d:%02d.%03d мс.\n' "$min" "$sec" "$ms"