76 lines
2.4 KiB
Bash
76 lines
2.4 KiB
Bash
|
|
#!/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"
|