#!/bin/bash # Скрипт для проверки файловой системы репозитория Gitea # Выполните на сервере с административным доступом REPO_PATH="/poignatov/play-life.git" GITEA_USER="git" # или пользователь, под которым работает Gitea echo "=== Проверка существования репозитория ===" if [ -d "$REPO_PATH" ]; then echo "✓ Репозиторий существует" else echo "✗ Репозиторий НЕ найден: $REPO_PATH" exit 1 fi echo "" echo "=== Проверка прав доступа ===" ls -ld "$REPO_PATH" echo "" echo "=== Проверка владельца ===" OWNER=$(stat -c '%U:%G' "$REPO_PATH" 2>/dev/null || stat -f '%Su:%Sg' "$REPO_PATH" 2>/dev/null) echo "Владелец: $OWNER" echo "" echo "=== Проверка размера репозитория ===" du -sh "$REPO_PATH" echo "" echo "=== Проверка свободного места ===" df -h "$REPO_PATH" | tail -1 echo "" echo "=== Проверка ключевых файлов Git ===" if [ -f "$REPO_PATH/config" ]; then echo "✓ config существует" else echo "✗ config НЕ найден" fi if [ -d "$REPO_PATH/objects" ]; then echo "✓ objects/ существует" echo " Количество объектов: $(find "$REPO_PATH/objects" -type f | wc -l)" else echo "✗ objects/ НЕ найден" fi if [ -f "$REPO_PATH/HEAD" ]; then echo "✓ HEAD существует" echo " Текущая ветка: $(cat "$REPO_PATH/HEAD")" else echo "✗ HEAD НЕ найден" fi if [ -f "$REPO_PATH/refs/heads/main" ]; then echo "✓ refs/heads/main существует" echo " Последний коммит: $(cat "$REPO_PATH/refs/heads/main")" else echo "✗ refs/heads/main НЕ найден" fi echo "" echo "=== Проверка целостности репозитория ===" cd "$REPO_PATH" if git fsck --no-progress 2>&1 | head -20; then echo "✓ Репозиторий цел" else echo "✗ Обнаружены проблемы с целостностью" fi echo "" echo "=== Проверка логов Gitea ===" echo "Проверьте логи Gitea на наличие ошибок:" echo " - /var/log/gitea/gitea.log" echo " - или в директории, указанной в конфиге Gitea"