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

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