repquota -s /var/www
: reporting de l’espace utilisé par utilisateur pour le volume /var/www (-s pour les valeurs «human readable» )
edquota michael -f /var/www/
éditer les quotas pour le volume /var/www
et l’utilisateur michael
warnquota -d /var/www
envoyer un message à ceux qui ont dépassés le quota autorisé (-d pour ne pas afficher le détail)
/etc/warnquota.conf :
MESSAGE = {MESSAGE}
SIGNATURE = {SIGNATURE}
# MAIL_CMD = "/usr/sbin/sendmail -t"
MAIL_CMD = "/usr/local/sbin/custom-warnquota"
FROM = "quota@exemple.fr"
SUBJECT = {SUBJECT}
/usr/local/sbin/warnquota-custom:
#!/bin/bash
original=$(cat /dev/stdin)
to=$(echo "$original"|grep '^To: '|sed 's/To: //')
result=${original}
result=$(echo "$result"|sed "s/{SUBJECT}/[quota] quota dépassé pour le site $to/")
message='print "<p>Bonjour,</p>\n";'
message=$message' print "<p>le serveur a détecté que le quota autorisé pour le dossier <b>'$to'</b> a été dépassée.</p>\n";'
message=$message' print "<p>Cela signifie que le système pense que vous utilisez plus d'"'"'espace disque que ce que vous devriez.<br><br>Si les fichiers ne sont pas supprimés avant la «période de grâce», le système empêchera la création de nouveau fichiers. La limite actuelle est à 1Go.</p>";'
message=$message' print "\n<p>Bonne journée,<br><br>Michaël<br>(Ce courriel est généré automatiquement)</p>";'
signature='print "<br>";'
# awk '1;/PATTERN/{ print "add one line"; print "\\and one more"}'
result=$(echo "$result"|awk "1;/{MESSAGE}/{ $message$signature }")
result=$(echo "$result"|sed "s/{MESSAGE}//")
result=$(echo "$result"|sed "s/{SIGNATURE}//")
result=$(echo "$result"|sed "s/Content-Type: text\/plain/Content-Type: text\/html/")
result=$result
echo "$result" | /usr/sbin/sendmail -t
command_return=$?
if [[ "$command_return" -ne 0 ]]; then
echo "Erreur $command_return: Une erreur est survenue avec la commande sendmail pour les quotas "
echo "result:"
echo "$result"
exit 1
fi