From eb2d114b9e4f4a264f696673307654b01218a0d6 Mon Sep 17 00:00:00 2001 From: salvacybersec Date: Tue, 11 Nov 2025 05:42:16 +0300 Subject: [PATCH] Add cleanup script for manual installation files --- scripts/cleanup-manual-install.sh | 204 ++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100755 scripts/cleanup-manual-install.sh diff --git a/scripts/cleanup-manual-install.sh b/scripts/cleanup-manual-install.sh new file mode 100755 index 0000000..25efd78 --- /dev/null +++ b/scripts/cleanup-manual-install.sh @@ -0,0 +1,204 @@ +#!/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 "" +