Pourrais tu juste m'expliquer comment fonctionne les quotas sur un répertoire,
on ne sait jamais ça va sûrement m'être utile plus tard...
Encore merci car tu m'a bien aider...... :jap:
carlos20
AHH,
OK, merci beaucoup c'est exactement de ça que j'avais besoin.
:)
jlighty
Citation :
mais ça signifie quoi script sh appelé par cron???
script sh : un fichier contenant diverses commandes shells ou appels à des programmes
crond : daemon qui exécute régulièrement un script/commande/programme
Citation :
Tu saurais pas comment limité la taille d'un répertoire??
tu peux limiter un répertoire (ou un point de montage) en appliquant des quotas. Le problème est que si un message récent est déposé sur le répondeur et que l'espace occupé dépasse le quotas, il ne sera pas enregistrer. Ce qui est conseillé de faire : effectuer une purge des anciens messages régulièrement.
pour le script :
- soit "n" le nombre de messages max
- chaque message déposé est contenu dans 4 fichiers .WAV .wav .txt .gsm
- soit "x" le nombre de fichiers max (n*4+1) le +1 est un offset pour la commande tail
pour récupérer tous les messages à effacer :
ls | sort -r | tail -n +"$x" grâce à cette commande, tu as les noms des fichiers à supprimer ensuite une boucle type for:
Code :
#!/bin/sh
# exemple pour 3 messages max
n=3;
x=`expr "$n" * 4 + 1`;
for nomfichier in `ls | sort -r | tail -n +"$x" `; do
rm -f "$nomfichier"
done
carlos20
Désolé de posé cette question,
mais ça signifie quoi script sh appelé par cron???
Le reste c'est OK merci beaucoup!!!
Tu saurais pas comment limité la taille d'un répertoire??
Encore merci....
jlighty
en y réflechissant, on peut encore accélérer le script en utilisant ls | sort |head
jlighty
rapidement script sh appelé par cron:
on test le nombre de message 'ls | grep ".gsm" | wc -l' si tu dépasses 10 messages par ex ->
on trie les fichiers par numéro ( ls | sort )
on analyse le tout dans une boucle for puis on détruit les anciens messages (un compteur est utilisé pour arrêter l'effacement des fichiers dès que le nombre de messages est en dessus du seuil)
carlos20
:oups
J'avais pas fini d'écrire... Désolé...
Je disais que la taille des messages je l'avais déjà indiquée...
Mon problème est de limiter la taille du répertoire dans lequel se situe les messages et ça pour chaque utilisateur
Code :
Dans ce cas j'ai un utilisateur SIP avec la boite vocale 301:
/var/spool/asterisk/voicemail/sip/301/INBOX/
Comment timité dynamiquement le répertoire INBOX pour chaque utilisateur de mon voicemail???
La limitation peut être soit en espace disque soit en nombre de messages dans le répertoire (la première serait nettement mieux).
Merci de votre aide...
carlos20
Hello,
Merci de tes précisions, dans le fichier voicemail.conf j'ai déjà indiqué la taille max et min des messages
Code :
maxmessage = yyy et minmessage = zzz
jlighty
utilise plutôt "du -sm <le répertoire>" pour avoir la valeur en Mo
Tu peux aussi limiter la longueur des messages (cf voicemail.conf)
carlos20
Bonjour,
J'ai installé asterisk sur colinux (Linux sur Windows [Debian]). Puis j'ai mis en place son voicemail avec son interface web (vmail.cgi). Mon problème est pour la gestion de l'espace disque des différents utilisateurs que j'ai entré...
Je n'ai aucune idée comment limité par le nombre de messages qu'il peut recevoir ou par l'espace qu'il peut occupé sur le disque par utilisateur. Je sais que pour voir l'espace occupé d'un répertoire il faut utiliser la commande df...
Est-ce que quelqu'un sait comment gérer ceci