2016-06-29 3 views
0

ich versuche, ein Shell-Skript zu erstellen mysql zu beenden und starten und httpd jeden Samstag auf 03.00, ich tue es:korrekte Weg, um eine crontab einstellen zu stoppen und mysql und httpd starten

myscript. sh:

#!/bin/sh 

echo "Stopping MySQL" 
service mysqld stop 
sleep 1s 
echo "Stopping HTTPD" 
service httpd stop 
sleep 5s 
echo "Starting MySQL" 
service mysqld start 
sleep 2s 
echo "Starting HTTPD" 
service httpd start 

und Einstellung des crontab zu:

0 3 * * 6 ~/myscript.sh 

es richtigen Weg, es zu tun? Ich stoppe und starte mysql und httpd cuz Verwendung von Speicher, sollte ich etwas überprüfen, bevor Sie sie stoppen? oder ich kann es ohne probleme machen?

eine andere Frage: wie Speicher RAM überprüfen, bevor sie zu stoppen? Wie ein "wenn" die Erinnerung ist weniger als X stoppe sie, so ähnlich?

Danke in fortgeschrittenem.

Antwort

0

Vermutlich stammt Ihre MySQL-Workload von Ihrem httpd-Webserver.

Also, tun Sie dies, um httpd zuerst zu stoppen, dann bounce mysqld, dann starten Sie httpd neu.

service httpd stop 
sleep 10s 
service mysqld restart 
service httpd start 

Aber Sie sollten sorgfältig untersuchen, ob dies wirklich notwendig ist. Viele Produktionssysteme brauchen es nicht. Moderne Apache-Server begrenzen die Lebensdauer ihrer Worker-Prozesse automatisch, um die von Ihnen erwähnte Speicherlecksituation zu bewältigen.

Verwandte Themen