мелкие исправления

modified:   domain_builder_1.8.sh
This commit is contained in:
2026-05-18 09:56:58 +03:00
parent 7321db5c7e
commit eefaabc163
+16 -3
View File
@@ -113,7 +113,7 @@ step_03_create_archive() {
echo "$(date +%T) Создаем архив..." | tee -a "$LOG_FILE"
SIZE_BYTES=$(sudo du -sb "$MOUNT_DIR" | cut -f1)
if sudo tar cf - --preserve-permissions --same-owner --acls --xattrs -C "$MOUNT_DIR" . | pv -s "$SIZE_BYTES" | bzip2 > "$ARCHIVE_PATH" 2>/dev/null; then
if sudo tar cf - --preserve-permissions --same-owner --acls --xattrs -C "$MOUNT_DIR" . | bzip2 > "$ARCHIVE_PATH"; then
echo "$(date +%T) Архив успешно создан" | tee -a "$LOG_FILE"
if [[ -f "$ARCHIVE_PATH" ]]; then
ARCHIVE_SIZE=$(du -h "$ARCHIVE_PATH" | cut -f1)
@@ -137,14 +137,27 @@ step_03_create_archive() {
TEMP_DIR=$(mktemp -d)
echo "📁 Временная папка: $TEMP_DIR"
echo "📦 Распаковка tar.bz2..."
pv "$ARCHIVE_PATH" | tar -xj -C "$TEMP_DIR"
if tar -xjf "$ARCHIVE_PATH" -C "$TEMP_DIR"; then
echo "✅ Распаковка успешно завершена"
echo "🔨 Упаковка в zstd (используем все ядра)..."
if tar --help | grep -q zstd; then
tar -C "$TEMP_DIR" -cf "$BASE_DIR/obraz.tar.zst" --zstd .
else
# Вариант 2: Классический способ через pipe
tar -C "$TEMP_DIR" -cf - . | zstd -T0 -19 -o "$BASE_DIR/obraz.tar.zst"
fi
if [[ $? -eq 0 ]]; then
echo "✅ Архив образ.tar.zst успешно создан"
ls -lh "$BASE_DIR/obraz.tar.zst"
else
echo "❌ Ошибка при создании архива zstd"
exit 1
fi
else
echo "❌ Ошибка при распаковке $ARCHIVE_PATH"
exit 1
fi
rm "$ARCHIVE_PATH"
rm -rf "$TEMP_DIR"
echo "=== Шаг 3 завершен успешно ===" | tee -a "$LOG_FILE"