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/ |
#!/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 ! ***********************"