quota (brouillon)

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

Laisser un commentaire