Samx Here
n1udSecurity


Server : Apache
System : Linux ks5.tuic.fr 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64
User : pragmatice ( 1003)
PHP Version : 8.2.24
Disable Function : NONE
Directory :  /home/script/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/script/config_sympa.sh
    #!/bin/sh
 
    # On recupere la liste des domaines dans un fichier domaines.txt
    # (extensions : .fr, .net, .org, .edu, .com)
    ls /var/lib/sympa/list_data | egrep "\.(edu|net|org|fr|com)$" > /home/domaines.txt
 
    # On traite les robots virtuels
    echo ""
    echo "**************************************************"
    echo "************** Robots virtuels *******************"
    echo "**************************************************"
    for j in `cat /home/domaines.txt`
      do
        echo ""
        echo "Domaine : $j"
        for i in `ls /var/lib/sympa/list_data/$j`
          do
            echo "Liste : $i";
                F="/var/lib/sympa/list_data/$j/$i";
                #Supprimer les nombreuses sauvegardes de config : config.0 - config.1 …… sans supprimer le config.old ou config.lock + copier config dans config.old.0
                recherche=$(find "$F" -regextype sed -regex "$F/config\.[0-9]*")
                if [ "$recherche" != "" ]; then
                        #Possibilité de supprimer cette confirmation et afficher les fichiers supprimés
                        echo "*** Fichiers à effacer :"
                        echo "$recherche"
                        # confirmation de l'utilisateur : <Entrée> ou n'importe quoi pour oui, "n" pour non
                        echo -n "*** Effacement [O|n] : "
                        read REPONSE
                        [ "$REPONSE" != "n" ] && find "$F" -regextype sed -regex "$F/config\.[0-9]*" -delete
                else
                        echo "Rien à supprimer"
                fi
                # Sauvegarde dans config.old.1 si le old existe déjà puis .old.2
                # effacement à partir de 10
                find "$F" -regextype sed -regex "$F/config\.old\.[0-9]\{2,\}" -delete
                # si le fichier existe, décalage config.old.9 ---> config.old.10  puis config.old.8 ---> config.old.9  puis [...] puis config.old.0 ---> config.old.1
                for N in $( echo {9..0} )
                do
                    (( M = N + 1 ))
                    [ -f "$F/config.old.$N" ] && mv "$F/config.old.$N" "$F/config.old.$M"
                done
                cp -T "$F/config" "$F/config.old.0"
                #Nettoyage pour les archives et activation
                echo -e "Nettoyage de $F/config"
                echo -e "Fichier config modifié archivé dans $F/config.old.0\n"
                sed -i '/^archive/,/^$/ d' "$F/config"; sed -i '/^web_archive/,/^$/ d' "$F/config"; sed -i '/^process_archive/,/^$/ d' "$F/config"
                echo -e "archive\nmax_month 3\nweb_access private\nmail_access owner\n\nprocess_archive on\n" >> "$F/config"
                #Taille limite  pièce jointe
                sed -i '/^max_size/,/^$/ d' "$F/config"
                echo -e "max_size 3145728\n" >> "$F/config"
 
          done
      done
 
    echo ""
    echo "**************************************************"
    echo "******************* Fini ! ***********************"

SAMX