johell Posté(e) le 17 juin 2010 Partager Posté(e) le 17 juin 2010 Bonjour a tous, Je suis en train de m'essayer au scripting sous linux, et j'ai entrepris de faire un script qui serais charg -1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 17 juin 2010 Partager Posté(e) le 17 juin 2010 Bonjour a tous, Je suis en train de m'essayer au scripting sous linux, et j'ai entrepris de faire un script qui serais charg 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
johell Posté(e) le 17 juin 2010 Auteur Partager Posté(e) le 17 juin 2010 find $MUSICDIR -type f -name 'Thumbs.db' -exec rm "{}" '\;' Syno> cat test.sh #!/bin/sh MUSICDIR=/volume1/music LOGDIR=/volume1/data/SCRIPTS/Synology/logs/ find $MUSICDIR -type f -name 'Thumbs.db' -exec rm "{}" '\;' Syno> Syno> ./test.sh find: option `-exec' requires an argument Marche pas 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 17 juin 2010 Partager Posté(e) le 17 juin 2010 Syno> cat test.sh #!/bin/sh MUSICDIR=/volume1/music LOGDIR=/volume1/data/SCRIPTS/Synology/logs/ find $MUSICDIR -type f -name 'Thumbs.db' -exec rm "{}" '\;' Syno> Syno> ./test.sh find: option `-exec' requires an argument Marche pas find $MUSICDIR -type f -name "Thumbs.db" -exec rm "{}" \; simple côte en trop à la fin 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
johell Posté(e) le 18 juin 2010 Auteur Partager Posté(e) le 18 juin 2010 find $MUSICDIR -type f -name "Thumbs.db" -exec rm "{}" \; simple c 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
net23 Posté(e) le 18 juin 2010 Partager Posté(e) le 18 juin 2010 je pense que la syntaxe exacte de la commande directe est find $DELDIR -type f -name '*.jpg' -exec rm {} \; cela fonctionne très bien chez moi avec des espaces dans les noms mais je ne suis pas encore sur syno par contre si tu met le résultat du find dans un fichier intermédiaire il faut 'antislacher' les espaces ce qui n'est pas tout simple 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 19 juin 2010 Partager Posté(e) le 19 juin 2010 désolé mais ça ne fonctionne toujours pas ... Je tente en passant par un fichier texte et une execution du RM ligne par ligne : Script : #!/bin/ash DATE=$(date '+%Y%m%d') MUSICDIR=/volume1/music LOGDIR=/volume1/data/SCRIPTS/Synology/logs/ LOGFILE=${LOGDIR}music-$DATE.log CONTENT="/tmp/`date +%s`-message" DELLIST1=${LOGDIR}dellist1.log DELLIST2=${LOGDIR}dellist2.log #Purge des logs et mails non envoyes rm -f /root/dead.letter rm $DELLIST1 rm $DELLIST2 find $LOGDIR -name '*.log' -mtime +30 -exec rm {} \; #Purge des fichiers systèmes echo "Fichiers système Trouvés et purgés :" > $LOGFILE find $MUSICDIR -type f -name '*' -print | awk '/Thumbs.db$|thumbs.db$|Desktop.ini$|desktop.ini$/' | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | awk '/Thumbs.db$|thumbs.db$|Desktop.ini$|desktop.ini$/' > $DELLIST1 #Ajout des quotes dans une nouvelle liste de fichiers a supprimer cat ${DELLIST1} | while read line do echo \"$line\" >> $DELLIST2 done #Affichage et suppression des fichiers contenus dans cette liste cat ${DELLIST2} | while read line do echo $line >> $LOGFILE rm $line >> $LOGFILE done echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE Extrait du fichier DELLIST2 : "/volume1/music/Ma musique/pop/Repertoire de test 1/desktop.ini" "/volume1/music/Ma musique/pop/Repertoire de test 2/desktop.ini" L'erreur reste la même : rm: cannot remove `"/volume1/music/Ma': No such file or directory rm: cannot remove `musique/pop/Repertoire': No such file or directory rm: cannot remove `de': No such file or directory rm: cannot remove `test': No such file or directory rm: cannot remove `1/desktop.ini': No such file or directory On vois bien pourtant qu'il prend en compte les quotes que j'ai inserés, mais elles ne sont pas interprétées Si je remplace rm $line >> $LOGFILE par echo $line sa donne : Syno> ./music.sh "/volume1/music/Ma musique/pop/Repertoire de test 1/desktop.ini" "/volume1/music/Ma musique/pop/Repertoire de test 2/desktop.ini" Pourtant si je lance la commande manuellement sa fonctionne. La j'y comprend plus rien ... création de fichiers avec espaces : DiskStation > for f in 1 2 3 4 5 c; do touch "fichier $f fin"; done DiskStation > ll total 8 drwxr-xr-x 2 root root 4096 Jun 19 15:13 . drwxr-xr-x 7 root root 4096 Jun 17 22:32 .. -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier 1 fin -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier 2 fin -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier 3 fin -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier 4 fin -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier 5 fin -rw-r--r-- 1 root root 0 Jun 19 15:13 fichier c fin recherche et effacement de ces fichiers : DiskStation > find . -type f -name "fichier*" -exec rm "{}" \; DiskStation > ll total 8 drwxr-xr-x 2 root root 4096 Jun 19 15:14 . drwxr-xr-x 7 root root 4096 Jun 17 22:32 .. en script : #!/bin/ash for f in 1 2 3 4 5 c; do touch "fichier $f fin"; done ls -l find . -type f -name "fichier*" -exec rm "{}" \; ls -l DiskStation > ./script total 4 -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier 1 fin -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier 2 fin -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier 3 fin -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier 4 fin -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier 5 fin -rw-r--r-- 1 root root 0 Jun 19 15:18 fichier c fin -rwxr-xr-x 1 root root 135 Jun 19 15:16 script total 4 -rwxr-xr-x 1 root root 135 Jun 19 15:16 script Donc ça fonctionne très bien. Dans ton script, le rm $line ne peut pas fonctionner, il faut rm "$line" (testé aussi avec des noms de répertoires avec epaces : ça marche) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
johell Posté(e) le 19 juin 2010 Auteur Partager Posté(e) le 19 juin 2010 cr 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 19 juin 2010 Partager Posté(e) le 19 juin 2010 Syno> cat test.sh #!/bin/ash for f in 1 2 3 4 5 c; do touch "fichier $f fin"; done ls -l find . -type f -name "fichier*" -exec rm "{}" \; ls -l Syno> ./test.sh -rwxrwxrwx 1 admin users 9878 Jan 30 23:46 Backup_Quotidien_USB.sh -rwxrwxrwx 1 Joel users 386 May 8 19:56 Clean.sh -rwxrwxrwx 1 admin users 15042 Jan 28 19:31 Source Backup.sh -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 1 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 2 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 3 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 4 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 5 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier c fin drwxr-xr-x 2 root root 4096 Jun 19 17:24 logs -rwxrwxrwx 1 Joel users 4375 Jun 19 17:41 music.sh -rwxr-xr-x 1 root root 4049 Jun 18 18:04 music.sh.old -rwxrwxrwx 1 admin users 126 Jun 19 17:50 test.sh rm: cannot remove `./fichier': No such file or directory rm: cannot remove `4': No such file or directory rm: cannot remove `fin': No such file or directory rm: cannot remove `./fichier': No such file or directory rm: cannot remove `1': No such file or directory rm: cannot remove `fin': No such file or directory rm: cannot remove `./fichier': No such file or directory rm: cannot remove `3': No such file or directory rm: cannot remove `fin': No such file or directory rm: cannot remove `./fichier': No such file or directory rm: cannot remove `c': No such file or directory rm: cannot remove `fin': No such file or directory rm: cannot remove `./fichier': No such file or directory rm: cannot remove `2': No such file or directory rm: cannot remove `fin': No such file or directory rm: cannot remove `./fichier': No such file or directory rm: cannot remove `5': No such file or directory rm: cannot remove `fin': No such file or directory -rwxrwxrwx 1 admin users 9878 Jan 30 23:46 Backup_Quotidien_USB.sh -rwxrwxrwx 1 Joel users 386 May 8 19:56 Clean.sh -rwxrwxrwx 1 admin users 15042 Jan 28 19:31 Source Backup.sh -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 1 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 2 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 3 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 4 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier 5 fin -rw-r--r-- 1 root root 0 Jun 19 17:50 fichier c fin drwxr-xr-x 2 root root 4096 Jun 19 17:24 logs -rwxrwxrwx 1 Joel users 4375 Jun 19 17:41 music.sh -rwxr-xr-x 1 root root 4049 Jun 18 18:04 music.sh.old -rwxrwxrwx 1 admin users 126 Jun 19 17:50 test.sh Syno> OK ! Je n'ai pas d'explication ( 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
johell Posté(e) le 19 juin 2010 Auteur Partager Posté(e) le 19 juin 2010 OK ! Je n'ai pas d'explication ( 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 20 juin 2010 Partager Posté(e) le 20 juin 2010 Merci !!! Du coup, pour ceux que sa intéresse, voici le script en entier : Ce script a pour but : - d'être declanché par la crontab environ 1 fois / semaine - de purger les desktop.ini, thumbes.db et autres fichiers systemes qui alourdissent la navigation - de lister les fichier qui ne sont pas sencés être dans ce repertoire - d'envoyer le tout par mail dans une log en piece jointe #!/bin/ash DATE=$(date '+%Y%m%d') MUSICDIR=/volume1/music LOGDIR=/volume1/data/SCRIPTS/Synology/logs/ LOGFILE=${LOGDIR}music-$DATE.log CONTENT="/tmp/`date +%s`-message" #Purge des logs et mails non envoyes rm -f /root/dead.letter find $LOGDIR -name '*.log' -mtime +30 -exec rm {} \; #Purge des fichiers systèmes echo "Fichiers système Trouvés et purgés :" > $LOGFILE find $MUSICDIR -type f -name '*' -print | awk '/Thumbs.db$|thumbs.db$|Desktop.ini$|desktop.ini$/' | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name "Thumbs.db" -print -exec rm "{}" \; >> $LOGFILE find $MUSICDIR -type f -name "thumbs.db" -print -exec rm "{}" \; >> $LOGFILE find $MUSICDIR -type f -name "Desktop.ini" -print -exec rm "{}" \; >> $LOGFILE find $MUSICDIR -type f -name "desktop.ini" -print -exec rm "{}" \; >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE #Affichage des fichiers restants a purger echo "Fichiers non musicaux trouvés :" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | awk '!/.mp3|.MP3|.jpg|.JPG/' | wc -l >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | awk '!/.mp3|.MP3|.jpg|.JPG/' >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE echo "Fichiers WMA Trouvés :" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".wma{:content:}quot; | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".wma{:content:}quot; >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE echo "Fichiers WAV Trouvés :" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".wav{:content:}quot; | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".wav{:content:}quot; >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE echo "Fichiers FLAC Trouvés :" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".flac{:content:}quot; | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".flac{:content:}quot; >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE echo "Fichiers OGG Trouvés :" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".ogg{:content:}quot; | wc -l >> $LOGFILE echo "" >> $LOGFILE echo "-------------------------------------------------------------------" >> $LOGFILE echo "" >> $LOGFILE find $MUSICDIR -type f -name '*' -print | grep -i ".ogg{:content:}quot; >> $LOGFILE echo "" >> $LOGFILE echo "" >> $LOGFILE #Envoi du log par mail ERR=0 SUBJECT='Etat de sante du repertoire music' echo "Bonjour," > ${CONTENT} echo " " >> ${CONTENT} echo "Ci-joint la liste de fichiers incoherents du repertoire music" >> ${CONTENT} echo " " >> ${CONTENT} echo " " >> ${CONTENT} echo "Cordialement, " >> ${CONTENT} cat ${CONTENT} | nail -s "$SUBJECT" -a $LOGFILE mon_adresse_mail@provider.com sleep 3 while ls "/root/dead.letter" do if [ $ERR -le 2 ] then echo Envoi du message impossible - nouvelle tentative dans 1 minute sleep 60 rm "/root/dead.letter" echo Nouvelle tentative en cours cat ${CONTENT} | nail -s "$SUBJECT" -a $LOGFILE mon_adresse_mail@provider.com sleep 10 ERR=$(($ERR +1 )) else rm "/root/dead.letter" echo Envoi de mail abandonne suite a $(($ERR +1)) tentatives infructueuses fi done rm $CONTENT Syno> Voila, si vous avez des questions ou des remarques n'hesitez pas Et merci encore cricx ouaip ! pas mal. Petit fignolage, pour tes echos à répétition : essaie la syntaxe suivante : echo -e "ligne1\nligne2\nligne3" pour la casse des noms de fichiers avec find : essaie -iname plutôt que -name . si tu as plusieurs fichiers, tu peux utiliser l'opérateur ou (-o), par exemple : -iname "thumbs.db" -o -iname "desktop.ini" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
d3mone Posté(e) le 4 novembre 2011 Partager Posté(e) le 4 novembre 2011 (modifié) Bonjour, J'ai trouvé cette idée superbe, j'ai donc repris la base du script , l'ai amélioré (moins de find et de parcours de l'arborescente des dossiers) et adapté à mes besoins. Mon script permet de : -supprimer les thumbs.db, desktop.ini et .DS_Store de votre synology. -détecte les fichiers qui n'ont pas leur place dans votre dossier de musiques et votre dossier de photos. -et vous envoies un rapport e-mail Encore merci à Johell pour cette idée ! #!/bin/sh ################################################################# # Constantes du script # # /!\ NE PAS MODIFIER /!\ # ################################################################# DATE=$(date '+%Y%m%d') EMAIL_NOT_SENT_FILE="/root/dead.letter" EMAIL_CONTENT_FILE="/tmp/$(date +%s)-message" # Contient des listes temporaires de fichiers TMPFILE="/tmp/$(date +%s)-list" ################################################################# # Options du script # # A MODIFIER EN FONCTION DE VOTRE CONFIGURATION # ################################################################# # Chemin complet contenant tous les sous-dossiers a examiner DATADIR="/volume1/" # Chemin complet du dossier contenant les musiques MUSICDIR="/volume1/music/" # Expression reguliaire qui definie les fichies mautorises dans le dossier MUSICDIR (insensible ‡ la casse) MUSICREGEX=".*\(mp3\|flac\|ogg\|wav\|wma\|m3u\|jpg\|png\)" # Chemin complet du dossier contenant les photos PHOTODIR="/volume1/photo/" # Expression reguliaire qui definie les fichies autorises dans le dossier PHOTODIR (insensible ‡ la casse) PHOTOREGEX=".*\(jpg\|png\|bmp\|nef\|raw\|arw\|avi\|mp4\|mov\|3gp\|mpg\|flv\)" # Chemin complet du dossier o˘ sauvegarder le log # /!\ Le nettoyage des anciens logs aurra lieu dans ce dossier et # tous les fichiers avec l'extension ".log" seront concernes /!\ LOGDIR="/volume1/logs/scripts/" # Nom du fichier de log sauvegarde dans LOGDIR LOGNAME=maintenance-$DATE # Nombre de jours de retention pour les logs dans LOGDIR LOGRETENTION=30 # Adresse e-mail recevant le rapport EMAILADDRESS=xxxx@xxxx.xxx ################################################################# # Constantes apres definitions des options # # /!\ NE PAS MODIFIER /!\ # ################################################################# LOGFILE=${LOGDIR}${LOGNAME}".log" ################################################################# # Purge les anciens logs et mails non envoyes # ################################################################# rm -f ${EMAIL_NOT_SENT_FILE} # Supprime les logs datant de plus d'un mois find ${LOGDIR} -name '*.log' -mtime +${LOGRETENTION} -exec rm {} \; ################################################################# # En-tÍte du fichier de log # # ICI VOUS POUVEZ AJOUTER UNE EN-TETE AU FICHIER DE LOG # ################################################################# cat > ${LOGFILE} <<EOF EOF ################################################################# # Purge des fichiers inutiles crees par Windows et Mac OS X # # Thumbs.db (Win) & Desktop.ini (Win) & .DS_Store (OS X) # # Exclus les dossiers systemes de Synology aquota.group, # # aquota.user, ceux commencant par @ et NetBackup # ################################################################# find "${DATADIR}" \( -path "${DATADIR}aquota.group" -o -path "${DATADIR}aquota.user" -o -path "${DATADIR}@*" -o -path "${DATADIR}NetBackup" \) -prune -o -type f \( -iname "thumbs.db" -o -iname "desktop.ini" -o -name ".DS_Store" \) -fprint "${TMPFILE}" -exec rm {} \; PURGE_COUNT=$(cat ${TMPFILE} | wc -l) cat >> ${LOGFILE} <<EOF Fichiers systeme inutiles supprimes (Thumbs.db, Desktop.ini, .DS_Store) : ${PURGE_COUNT} ------------------------------------------------------------------- $(cat ${TMPFILE}) EOF ################################################################# # Analyse du dossier des musiques # ################################################################# find "${MUSICDIR}" -iregex "${MUSICREGEX}" -prune -o -type f -fprint "${TMPFILE}" NON_MUSIC_COUNT=$(cat ${TMPFILE} | wc -l) cat >> ${LOGFILE} <<EOF Fichiers non musicaux dans ${MUSICDIR} (non supprimes par le script) : ${NON_MUSIC_COUNT} ------------------------------------------------------------------- $(cat ${TMPFILE}) EOF ################################################################# # Analyse du dossier des photos # ################################################################# # On exclus le dossier @eaDir qui est utilise par Synology pour les miniatures et videos compressees find "${PHOTODIR}" \( -iregex "${PHOTOREGEX}" -o -type d -name "@eaDir" \) -prune -o -type f -fprint "${TMPFILE}" NON_PHOTO_COUNT=$(cat ${TMPFILE} | wc -l) cat >> ${LOGFILE} <<EOF Fichiers n etant pas des photos dans ${PHOTODIR} (non supprimes par le script) : ${NON_PHOTO_COUNT} ------------------------------------------------------------------- $(cat ${TMPFILE}) EOF ################################################################# # Pied du fichier de log # # ICI VOUS POUVEZ AJOUTER UNE FIN AU FICHIER DE LOG # ################################################################# cat >> ${LOGFILE} <<EOF EOF ################################################################# # Envoi du fichier log par e-mail # ################################################################# ERR=0 SUBJECT="Rapport du script" #Composition de contenu de l'e-mail cat > ${EMAIL_CONTENT_FILE} <<EOF Bonjour, Ci-joint le rapport detaile de l execution du script et un resume de l operation Maintenance: Fichiers systeme inutiles supprimes (Thumbs.db, Desktop.ini, .DS_Store) : ${PURGE_COUNT} Fichiers non musicaux dans ${MUSICDIR} (non supprimes par le script) : ${NON_MUSIC_COUNT} Fichiers n etant pas des photos dans ${PHOTODIR} (non supprimes par le script) : ${NON_PHOTO_COUNT} Cordialement, EOF cat ${EMAIL_CONTENT_FILE} | nail -s "${SUBJECT}" -a ${LOGFILE} ${EMAILADDRESS} sleep 3 while [ -f ${EMAIL_NOT_SENT_FILE} ]; do if [ ${ERR} -le 2 ]; then echo Envoi du message impossible - nouvelle tentative dans 1 minute sleep 60 rm ${EMAIL_NOT_SENT_FILE} echo Nouvelle tentative en cours cat ${EMAIL_CONTENT_FILE} | nail -s "${SUBJECT}" -a ${LOGFILE} ${EMAILADDRESS} sleep 10 ERR=$(($ERR +1 )) else rm "/root/dead.letter" echo Envoi de mail abandonne suite a $((${ERR} +1)) tentatives infructueuses fi done rm ${EMAIL_CONTENT_FILE} ################################################################# # Suppression des fichiers temporaires # ################################################################# rm ${TMPFILE} Modifié le 5 novembre 2011 par d3mone 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
crakotte Posté(e) le 13 juillet 2012 Partager Posté(e) le 13 juillet 2012 bonjour et merci à tous ceux qui ont participé à ce post, j'ai le même type de problème dans un de mes scripts. Les noms de fichiers se retrouvent hachés après le find dés qu'il y a un espace, ça fait 2 jours que je suis dessus... enfin pas à temps plein quand même ;-) ce post va beaucoup m'aider je le sens, MERCI ! ps : j'adore la ligne "echo "Cordialement, " >> ${CONTENT}" pour terminer le message 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.