¿Cómo limitar el tamaño de los archivos de la base de datos MySQL?
El script es el siguiente:
####begin srcript --author pat.dong####
## Si el usuario excede el espacio, el archivo se enviará al buzón del usuario como contenido de correo electrónico
sizeover="/etc/sizeover.log"
dblist="/tmp/dblist"
mysql_path =/usr/ local/mysql/bin
# Nombre de la base de datos de salida
$mysql_path/mysql -uroot -e "show bases de datos"gt;$ dblist
# Eliminar la primera columna "base de datos"
ed 1d $dblist gt;
cat /tmp/tmp123456 gt;$dblist
# Ruta de datos de la base de datos
DB_ PATH="/www/mysql"
# El espacio máximo disponible para los usuarios, en kb
LIMIT_SIZE=2048
# El archivo mysql_quota registra cada La cuota para cada base de datos es la siguiente:
####el archivo mysql_quota comienza ######
cn-ce 10000
cnmr 2048
fulin 2048
ishunde 2048
jljust 15000
####end mysql_quota#####
# mysql No es necesario cambiar esta base de datos
cat $dblist mientras se lee b; = "mysql" ] amp; '};
LIMIT_SIZE=`cuota de gato |grep $b|awk { 'imprimir $2'}`
LIMIT_SIZE=`cuota de gato |grep $b|awk { 'imprimir $2 '}`
echo "El tamaño del usuario es "$SIZE", el tamaño límite es "$LIMIT_SIZE
if [ $SIZE -gt $LIMIT_SIZE ]
luego
# mysql -uroot - prootpwd -n -e "revocar inserción en $b.* desde $b@hostname"
# sendmail $b@mail.com lt; sizeover
echo $b" está por encima de la cuota";
else
# mysql -uroot -prootpwd -n -e "conceder inserción en $b.* a $b@ hostname"
echo $b" no supera la cuota";
fi
# mysql -uroot -prootpwd -n -e "flush privil
eges"
fi
hecho
####finalizar script#####