|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 16:08 Sujet du message: 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 |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 19:10 Sujet du message: Aider un novice à créer un script ssh |
|
|
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 ?
 |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 21:41 Sujet du message: Aider un novice à créer un script ssh |
|
|
merci
 |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2107 Localisation: Dans nos montagnes...
|
Posté le : Jeu Mar 23, 2006 21:42 Sujet du message: Aider un novice à créer un script ssh |
|
|
Patience !
Tous le monde ne connait pas le php !! |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 21:56 Sujet du message: Aider un novice à créer un script ssh |
|
|
Non en php je n'ai a vrai dire pas trop de problème !
C'est ssh, et là je crain effectivement qu'il n'y a pas grande monde pour du soutien..
m'enfin. |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 22:41 Sujet du message: Aider un novice à créer un script ssh |
|
|
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.  |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Jeu Mar 23, 2006 23:13 Sujet du message: Aider un novice à créer un script ssh |
|
|
Ou trouver de l'aide sur ce sujet ?
Avez vous des forums qui puissent m'aider ? |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Ven Mar 24, 2006 0:20 Sujet du message: Aider un novice à créer un script ssh |
|
|
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 :
| Code: |
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.
| Citation: |
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: |
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: |
#!/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: |
#/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. |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Ven Mar 24, 2006 9:02 Sujet du message: Aider un novice à créer un script ssh |
|
|
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. |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Ven Mar 24, 2006 9:48 Sujet du message: Aider un novice à créer un script ssh |
|
|
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 ? |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Ven Mar 24, 2006 21:29 Sujet du message: Aider un novice à créer un script ssh |
|
|
J'ai ce dernier problème avec la modificaiton de max_user_connections = 0.
Savez vous ou je peux trouver de l'aide sur un forum spécialisé la dedans, parce qu'apparemment, c'est plus suptile que ça... |
|
| |
|
 |
maddanny WRInaute impliqué

Inscrit le: 23 Mar 2005 Messages: 279
|
Posté le : Sam Mar 25, 2006 4:41 Sujet du message: Aider un novice à créer un script ssh |
|
|
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 |
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Sam Mar 25, 2006 8:51 Sujet du message: Aider un novice à créer un script ssh |
|
|
| 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 !  |
|
| |
|
 |
| |
|
|