#!/bin/bash # ═══════════════════════════════════════════════════════════════ # Oltalama - Manuel Kurulum Temizleme Scripti # ═══════════════════════════════════════════════════════════════ # Bu script eski manuel kurulumdan (PM2, systemd) kalan dosyaları temizler # Docker kullanıyorsanız bu dosyalar gereksizdir set -e # Colors RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color print_info() { echo -e "${GREEN}ℹ${NC} $1" } print_warning() { echo -e "${YELLOW}⚠${NC} $1" } print_error() { echo -e "${RED}❌${NC} $1" } print_success() { echo -e "${GREEN}✅${NC} $1" } echo "" echo "╔═══════════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ Oltalama - Manuel Kurulum Temizleme Scripti ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════════╝" echo "" # Check if running as root if [ "$EUID" -ne 0 ]; then print_error "Bu script root olarak çalıştırılmalıdır (sudo)" exit 1 fi INSTALL_DIR="/opt/oltalama" LOG_DIR="/var/log/oltalama" SERVICE_USER="oltalama" print_warning "Bu script şunları temizleyecek:" echo " • PM2 process'leri ve konfigürasyonları" echo " • Systemd servisleri (oltalama-backend, oltalama-frontend)" echo " • /opt/oltalama dizini (opsiyonel)" echo " • /var/log/oltalama dizini (opsiyonel)" echo " • oltalama kullanıcısı (opsiyonel)" echo "" read -p "Devam etmek istiyor musunuz? (y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then print_info "İşlem iptal edildi." exit 0 fi # 1. Stop and remove PM2 processes print_info "PM2 process'leri durduruluyor..." if command -v pm2 &> /dev/null; then pm2 delete all 2>/dev/null || print_warning "PM2 process bulunamadı" pm2 kill 2>/dev/null || true pm2 unstartup systemd 2>/dev/null || true print_success "PM2 temizlendi" else print_info "PM2 bulunamadı, atlanıyor" fi # 2. Stop and disable systemd services print_info "Systemd servisleri durduruluyor..." if systemctl list-units --type=service | grep -q "oltalama-backend.service"; then systemctl stop oltalama-backend 2>/dev/null || true systemctl disable oltalama-backend 2>/dev/null || true print_success "oltalama-backend servisi durduruldu ve devre dışı bırakıldı" else print_info "oltalama-backend servisi bulunamadı" fi if systemctl list-units --type=service | grep -q "oltalama-frontend.service"; then systemctl stop oltalama-frontend 2>/dev/null || true systemctl disable oltalama-frontend 2>/dev/null || true print_success "oltalama-frontend servisi durduruldu ve devre dışı bırakıldı" else print_info "oltalama-frontend servisi bulunamadı" fi # Remove systemd service files if [ -f "/etc/systemd/system/oltalama-backend.service" ]; then rm -f /etc/systemd/system/oltalama-backend.service print_success "oltalama-backend.service dosyası silindi" fi if [ -f "/etc/systemd/system/oltalama-frontend.service" ]; then rm -f /etc/systemd/system/oltalama-frontend.service print_success "oltalama-frontend.service dosyası silindi" fi # Reload systemd systemctl daemon-reload 2>/dev/null || true # 3. Remove PM2 service file if [ -f "/etc/systemd/system/pm2-root.service" ]; then print_warning "PM2 systemd servisi bulundu. Silmek istiyor musunuz? (y/N): " read -p "" -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then systemctl stop pm2-root 2>/dev/null || true systemctl disable pm2-root 2>/dev/null || true rm -f /etc/systemd/system/pm2-root.service systemctl daemon-reload 2>/dev/null || true print_success "PM2 systemd servisi silindi" fi fi # 4. Remove installation directory (optional) if [ -d "$INSTALL_DIR" ]; then echo "" print_warning "$INSTALL_DIR dizini bulundu." read -p "Silmek istiyor musunuz? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then rm -rf "$INSTALL_DIR" print_success "$INSTALL_DIR dizini silindi" else print_info "$INSTALL_DIR dizini korundu" fi fi # 5. Remove log directory (optional) if [ -d "$LOG_DIR" ]; then echo "" print_warning "$LOG_DIR dizini bulundu." read -p "Silmek istiyor musunuz? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then rm -rf "$LOG_DIR" print_success "$LOG_DIR dizini silindi" else print_info "$LOG_DIR dizini korundu" fi fi # 6. Remove system user (optional) if id "$SERVICE_USER" &>/dev/null; then echo "" print_warning "Sistem kullanıcısı '$SERVICE_USER' bulundu." read -p "Silmek istiyor musunuz? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then # Check if user has home directory USER_HOME=$(getent passwd "$SERVICE_USER" | cut -d: -f6) if [ -d "$USER_HOME" ] && [ "$USER_HOME" != "/" ]; then read -p "Kullanıcı home dizini ($USER_HOME) de silinsin mi? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then userdel -r "$SERVICE_USER" 2>/dev/null || userdel "$SERVICE_USER" 2>/dev/null || true print_success "Kullanıcı '$SERVICE_USER' ve home dizini silindi" else userdel "$SERVICE_USER" 2>/dev/null || true print_success "Kullanıcı '$SERVICE_USER' silindi (home dizini korundu)" fi else userdel "$SERVICE_USER" 2>/dev/null || true print_success "Kullanıcı '$SERVICE_USER' silindi" fi else print_info "Kullanıcı '$SERVICE_USER' korundu" fi fi # 7. Remove PM2 data directories (optional) if [ -d "/root/.pm2" ]; then echo "" print_warning "PM2 data dizini (/root/.pm2) bulundu." read -p "Silmek istiyor musunuz? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then rm -rf /root/.pm2 print_success "PM2 data dizini silindi" fi fi echo "" echo "╔═══════════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ ✅ Temizleme Tamamlandı! ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════════╝" echo "" print_info "Manuel kurulum dosyaları temizlendi." print_info "Artık Docker ile çalıştırabilirsiniz:" echo "" echo " docker compose -f docker-compose.single.yml up -d --build" echo ""