El script advenedizo no conoce el servicio mysql
Frecuentes
Visto 536 equipos
0
I would create upstart script, which will flushing dirty pages from DB before shutdown. I use Ubuntu 14.04 and MariaDB. I start upstart script with this:
start on stopping mysql
script
[something]
end script
but script returns:
start: Unknown job: on
Script started, file is typescript
But script does nothing... Where I have mistake? Can anybody help me, please? Ths ;)
1 Respuestas
0
Guión:
#
# mysql-shutdown - This script clean innodb dirty pages
# from: http://www.mysqlperformanceblog.com/2009/04/15/how-to-decrease-innodb-shutdown-times/
#
start on stopping mysql
console output
script
echo "Mysql-shutdown script start:"
pct=0
# Call the given function, require that it complete successfully, and then
# return the status.
rcall() {
echo -n '+'
echo -n $@
$@
status=$?
if [ $status != 0 ]; then
echo " FAILED"
exit $status
fi
echo
return $status
}
if [ "$1" = "--allow_dirty_buffers" ]; then
pct=90
fi
innodb_status=$(echo "SHOW ENGINES;" | rcall mysql --user=root | grep InnoDB | cut -f2)
if [ "$innodb_status" = "DISABLED" ]; then
echo "The Innodb storage engine is disabled"
exit 0
fi
# tell mysql that we need to shutdown so start flushing dirty pages to disk.
# Normally InnoDB does this by itself but only when port 3306 is closed which
# prevents us from monitoring the box.
rcall mysql --user=root << EOF
SLAVE STOP;
SET GLOBAL innodb_max_dirty_pages_pct=$pct;
EOF
# ..... how wait until the dirty buffer size goes down to zero.
IFS=
if [ "$1" = "--progress" ]; then
echo "Innodb dirty pages:"
while [ true ]; do
status=$(echo 'SHOW INNODB STATUS\G' | rcall mysql --user=root)
modified_db_pages=$(echo $status | grep -E '^Modified db pages' | grep -Eo '[0-9]+$')
if [ "$modified_db_pages" = "0" ]; then
echo
break
fi
echo -ne "$modified_db_pages\r";
sleep 1
done
fi
end script
Respondido el 10 de junio de 14 a las 08:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ubuntu init mariadb upstart or haz tu propia pregunta.
The script section is the problem, you need to show it to us. - CameronNemo