15 lines
1.4 KiB
Bash
Executable file
15 lines
1.4 KiB
Bash
Executable file
#!/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"
|