Aider un novice à créer un script ssh
13 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Aider un novice à créer un script ssh
Hug !
Alors voila, j'ai un petit problème:
Je dois créer un script en ssh qui pourra être appellé par un cron et qui me permettra de modifier deux variables mysql et relancer le service mysql.
Seulement, le problème est que je n'y connais pas grand chose encore en commande ssh, donc si quelqu'un pouvait m'aider.
Peut être que pour vous ce sera super simple, ça n'a pas l'air complexe comme ça, mais lorsque l'on ne connait pas, c'est moins évident....
Donc voila les deux variables à modifier:
max_user_connections = 15
max_connections = 200
+ relancer le service mysql.
En espérant qu'une âme charitable veuille bien m'aider.
Merci.
Thierry
Alors voila, j'ai un petit problème:
Je dois créer un script en ssh qui pourra être appellé par un cron et qui me permettra de modifier deux variables mysql et relancer le service mysql.
Seulement, le problème est que je n'y connais pas grand chose encore en commande ssh, donc si quelqu'un pouvait m'aider.
Peut être que pour vous ce sera super simple, ça n'a pas l'air complexe comme ça, mais lorsque l'on ne connait pas, c'est moins évident....
Donc voila les deux variables à modifier:
max_user_connections = 15
max_connections = 200
+ relancer le service mysql.
En espérant qu'une âme charitable veuille bien m'aider.
Merci.
Thierry
Bon pour ce que j'en sais, normalement en ligne de commande il faut un truc comme cela:
set variable = max_user_connections = 15
set variable = max_connections = 200
Et pour arrêter et redémarrer le service mysql:
/etc/ini.d/mysql stop (puis start)
Je pense qu'avant les set variable il faut se connecter à mysql...
soit:
mysql -h localhost -u login -p password
personne ne peut m'aider ?
Que signifie le /dev/null 2>&1 ?
Je parle là du 2>&1, car je ne trouve pas d'explication la dessus.
J'ai trouvé cela qui en parle:
http://www.spi.ens.fr/~beig/systeme/shell.html
Mais je ne comprends pas.
Je parle là du 2>&1, car je ne trouve pas d'explication la dessus.
J'ai trouvé cela qui en parle:
http://www.spi.ens.fr/~beig/systeme/shell.html
Mais je ne comprends pas.
tu as l'air vraiment désespéré, je vais voir si je peux t'aider un peu.
Forum => Essaye sur www.developez.com
http://www.developpez.net/forums/viewforum.php?f=5
Ce que je ne sais pas faire :
- créer un tunnel ssh pour exécuter des ordres mysql et modifier les valeurs de tes 2 variables.
Pour redémarrer le serveur mysql :
il te faut exécuter la commande ( il manque le path devant, qui dépend de ton système ) :
mysqld restart
ou
safe_mysqld restart
Cette commande peut s'éxécuter dans un cron, sans avoir besoin d'un script shell.
Si tu veux passer par un cron tu pourrais faire :
Ce simple cron pourrait résoudre ton pb pour redémarrer le serveur mysql.
Toi ce que tu veux écrire c'est un script shell. Et modifier des variables avant de faire le reboot.
Come je ne sais pas faire, et que je n'ai pas de tuto sous la main, je vais juste te donner quelques notions.
ssh : c'est un protocole de communication, c'est aussi le nom d'un programme.
Il existe +sieurs sortes de shell : sh, bash, bourne shell.
Chaque shell peut avoir ses spécificités.
1 => correspond à la sortie standard => stdin => ce que ton prg écrit
2 => correspond à la sortie d'erreur
/dev/null => c'est l'équivalent de la poubelle sous windows
1 > /dev/null 2>&1 signifie :
Je re-dirige la sortie standard vers la poubelle. Et je redirige la sortie d'erreur vers la sortie standard.
Dans ton cas tout part à la poubelle
Tu aurais pu écrire :
à la fin de l'éxécution de ton script tu aurais eu 2 fichier : log.txt et err.txt
log.txt => le log d'éxécution de ton script
err.txt => les erreurs de ton script
Voici un exemple de script :
Pour ton pb précis tu aurais un truc du style :
Le pb c'est après le exec. Je ne sais pas ce qu'il faut faire pour passer les params à mysql ?
Voilà une première piste, en espérant que tu puisse trouver une aide plus utile.
Forum => Essaye sur www.developez.com
http://www.developpez.net/forums/viewforum.php?f=5
Ce que je ne sais pas faire :
- créer un tunnel ssh pour exécuter des ordres mysql et modifier les valeurs de tes 2 variables.
Pour redémarrer le serveur mysql :
il te faut exécuter la commande ( il manque le path devant, qui dépend de ton système ) :
mysqld restart
ou
safe_mysqld restart
Cette commande peut s'éxécuter dans un cron, sans avoir besoin d'un script shell.
Si tu veux passer par un cron tu pourrais faire :
- Code: Tout sélectionner
Tout les jours à 23H30, tu redémarre mysql :
$shell> crontab -e
30 23 * * * safe_mysqld restart >>/tmp/log.txt
Ce simple cron pourrait résoudre ton pb pour redémarrer le serveur mysql.
Toi ce que tu veux écrire c'est un script shell. Et modifier des variables avant de faire le reboot.
Come je ne sais pas faire, et que je n'ai pas de tuto sous la main, je vais juste te donner quelques notions.
ssh : c'est un protocole de communication, c'est aussi le nom d'un programme.
Il existe +sieurs sortes de shell : sh, bash, bourne shell.
Chaque shell peut avoir ses spécificités.
Que signifie :
1 > /dev/null 2>&1 ?
1 => correspond à la sortie standard => stdin => ce que ton prg écrit
2 => correspond à la sortie d'erreur
/dev/null => c'est l'équivalent de la poubelle sous windows
1 > /dev/null 2>&1 signifie :
Je re-dirige la sortie standard vers la poubelle. Et je redirige la sortie d'erreur vers la sortie standard.
Dans ton cas tout part à la poubelle
Tu aurais pu écrire :
- Code: Tout sélectionner
1>log.txt 2>err.txt
à la fin de l'éxécution de ton script tu aurais eu 2 fichier : log.txt et err.txt
log.txt => le log d'éxécution de ton script
err.txt => les erreurs de ton script
Voici un exemple de script :
- Code: Tout sélectionner
#!/bin/sh
# La première ligne sert à spécifier quel shell tu veux excéuter. ici sh
# if no args specified, show usage
# $# correspond aux nbr d'argument de la ligne de cmd
# le if sert à tester le nbr d'argument
if [ $# = 0 ]; then
echo "man de ton script shell"
echo "La comande echo sert à écrire sur la sortie standard"
echo "bla bla"
echo "bla bla"
exit 1 # Tu quitte ton script
fi # fin du if
# get arguments
# kes arguments se nomment $1, $2, $3, etc. Tu peux donc les récupérer
COMMAND=$1
TOTO=$2
DIR=$3
etc....
# Tu peux affecter des cmd unix à des variables
THIS_DIR=`dirname "$THIS"`
TOTO_HOME=`cd "$THIS_DIR/.." ; pwd`
# Tester l'existence de certains répertoire ( -d )
# Si le rép TOTO_HOME/build/classes existe, alors je modifie ma variable
# CLASSPATH
if [ -d "$TOTO_HOME/build/classes" ]; then
CLASSPATH=${CLASSPATH}:$TOTO_HOME/build/classes
fi
# faire des boucles sur des patterns de fichiers dans des rep
for f in $TOTO_HOME/toto-*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done # finde la boucle for
# ET CE QUI EST LE PLUS INTERESSANT POUR TOI
#EXECUTER DES COMMANDES
# run it
exec "$JAVA" $JAVA_HEAP_MAX $TOTO_OPTS -classpath "$CLASSPATH" $CLASS toto"
Pour ton pb précis tu aurais un truc du style :
- Code: Tout sélectionner
#/bin/sh
# récupérer les params de la ligne de cmd, si tu en as besoin ( le #password par exemple
# get the command line param
if [ $# < 3 ]; then
echo "usage : il faut rentrer un password max_user_connection max_connection"
exit 1 # Tu quitte ton script
fi # fin du if
PASSWD = $1
MAX_USER_CONNECTION = $2
MAX_CONNECTION = $3
exec "mysql -h localhost -u login -p password"
Le pb c'est après le exec. Je ne sais pas ce qu'il faut faire pour passer les params à mysql ?
Voilà une première piste, en espérant que tu puisse trouver une aide plus utile.
Merci beaucoup de ton aide.
Pour redémarrer mysql c'est donc bon.
Ton dernier petit script est (je crois) ce que je recherche.
un script en .sh que je puisse appeller.
En revanche le exec c'est en sh ? (ce n'est pas du php ?)
Pour modifier une variable en ssh en étant connecté à mysql il faut faire cela:
set global max_user_connexion=10;
L'autre variable je n'en ai finallement pas besoin.
En revanche lorsque je veux mettre max_user_connexion = 0 (pas de limite), ça ne fonctionne pas, il me le met à 1.
Merci beaucoup de ton aide.
Pour redémarrer mysql c'est donc bon.
Ton dernier petit script est (je crois) ce que je recherche.
un script en .sh que je puisse appeller.
En revanche le exec c'est en sh ? (ce n'est pas du php ?)
Pour modifier une variable en ssh en étant connecté à mysql il faut faire cela:
set global max_user_connexion=10;
L'autre variable je n'en ai finallement pas besoin.
En revanche lorsque je veux mettre max_user_connexion = 0 (pas de limite), ça ne fonctionne pas, il me le met à 1.
Merci beaucoup de ton aide.
J'ai trouvé une alternative en php.
En revanche si quelqu'un peut m'aider sur un truc:
lorsque je met max_user_connections=0 (pas de limite)
comme indiqué dans la doc.
Est bien il me le fou à 1...et la pb !
Avez vous une idée ? Savez vous comment faire please ?
En revanche si quelqu'un peut m'aider sur un truc:
lorsque je met max_user_connections=0 (pas de limite)
comme indiqué dans la doc.
Est bien il me le fou à 1...et la pb !
Avez vous une idée ? Savez vous comment faire please ?
C'est simple: ile ne faut pas le faire !
Le nombre max d'utilisateurs mysql est une donnée critique, si ce parametre est trop haut tu vas surcharger ton serveur et cela va t'apporter un grand nombre de problemes ...
Jette un coup d'oeil à la doc MySql, ils donnent pas mal de conseils pour calculer la valeux max.
Mais attention, augmenter max_user_connections ne sert à rien si tu ne modifies pas les limites systeme de ton noyau (nombre de fichiers ouverts, etc etc)
MADdanny
Le nombre max d'utilisateurs mysql est une donnée critique, si ce parametre est trop haut tu vas surcharger ton serveur et cela va t'apporter un grand nombre de problemes ...
Jette un coup d'oeil à la doc MySql, ils donnent pas mal de conseils pour calculer la valeux max.
Mais attention, augmenter max_user_connections ne sert à rien si tu ne modifies pas les limites systeme de ton noyau (nombre de fichiers ouverts, etc etc)
MADdanny
maddanny a écrit:C'est simple: ile ne faut pas le faire !
Le nombre max d'utilisateurs mysql est une donnée critique, si ce parametre est trop haut tu vas surcharger ton serveur et cela va t'apporter un grand nombre de problemes ...
Non, à ce niveau là, je maîtrise la chose.
Il me faut juste ouvrir plus de droit à un moment donné, puis je referme.
Là, n'est pas le problème.
maddanny a écrit:Jette un coup d'oeil à la doc MySql, ils donnent pas mal de conseils pour calculer la valeux max.
Ben, je veux bien, as-tu le lien ?
(même si j'ai déjà parcourue la doc, peut être, est-ce une autre page...)
maddanny a écrit:Mais attention, augmenter max_user_connections ne sert à rien si tu ne modifies pas les limites systeme de ton noyau (nombre de fichiers ouverts, etc etc)
A ce niveau, c'est bon également.
Le système permet de grérer par défaut plusieurs milliers de fichiers !
13 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Ajouter un Gadget Google sur son site
- Les albums web Picasa passent à 1 Go de stockage
- Photos satellite des incendies en Grèce dans Google Earth
- Google Desktop pour Mac OS X
- La terre vue par satellite : accord entre Google et Spot Image
- Picasa Web Albums en français
- Google Sitemap Generator version 1.3
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Le positionnement d'annonces AdSense : explications
- Résultats des élections présidentielles du 1er tour 2007
Consultez la description détaillée des produits ou services de Google suivants : Google Mini
- Echanges de liens
Cet outil vous liste quelques sites qui font des liens vers des sites similaires au vôtre, pour vous aider à trouver des partenaires pour des échanges de liens.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum