Aider un novice à créer un script ssh

Discussion dans 'Administration d'un site Web' créé par thierry8, 23 Mars 2006.

  1. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    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
     
  2. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    :?

    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 ?

    :?
     
  3. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    8O

    merci :)

    :cry:
     
  4. guicara
    guicara WRInaute passionné
    Inscrit:
    2 Février 2006
    Messages:
    1 558
    J'aime reçus:
    0
    Patience !
    Tous le monde ne connait pas le php !!
     
  5. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    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.
     
  6. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
  7. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    Ou trouver de l'aide sur ce sujet ?

    Avez vous des forums qui puissent m'aider ?
     
  8. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    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.

    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.
     
  9. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    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. 8O

    Merci beaucoup de ton aide.
     
  10. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    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 ?
     
  11. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    :? :? :(

    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...
     
  12. maddanny
    maddanny WRInaute discret
    Inscrit:
    22 Mars 2005
    Messages:
    248
    J'aime reçus:
    0
    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
     
  13. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    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.

    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...)

    A ce niveau, c'est bon également.
    Le système permet de grérer par défaut plusieurs milliers de fichiers ! ;)
     
Chargement...
Similar Threads - Aider novice créer Forum Date
M'aider à comprendre... Demandes d'avis et de conseils sur vos sites 16 Juin 2021
Récapitulatif [Sujets de mémoire] SEO, Marketing . pour aider les étudiants en Master, Licence, etc Tests et études de cas 9 Novembre 2016
Comment aider Google bot à revenir sur mes pages mobiles ? Crawl et indexation Google, sitemaps 16 Octobre 2016
Un expert Google Tag Manager pour m'aider ? Google Analytics 30 Avril 2016
Qui peut m'aider ? Référencement Google 14 Mars 2016
Pouvez-vous tester pour moi et m'aider à progresser ? Débuter en référencement 10 Septembre 2015
Besoin de votre aide : comment aider au Ref de revendeurs Débuter en référencement 31 Août 2015
J'ai une tonne de liens morts, comment aider Google à faire le ménage ? Débuter en référencement 2 Août 2014
Salut Balise h1,h6 peut t'on m'aider Débuter en référencement 13 Juillet 2013
Quelqun peux m'aider Débuter en référencement 13 Mars 2013
Qui peut m'aider SVP je suis a bout... Débuter en référencement 5 Février 2013
Comment aider un noob de passer d'un blog a un vrai site ? Développement d'un site Web ou d'une appli mobile 31 Octobre 2012
Des articles gratuits pour vous aider Débuter en référencement 6 Juillet 2012
Pouvez-vous m'aider? Demandes d'avis et de conseils sur vos sites 21 Juin 2012
Pouvez vous m'aider SVP (auto entrepreneur) ? Administration d'un site Web 2 Décembre 2011
Script pour aider la navigation Développement d'un site Web ou d'une appli mobile 3 Octobre 2011
Google lance Prizes, un site qui vous récompense pour aider les autres Google : l'entreprise, les sites web, les services 5 Juillet 2011
Qui pourrait m'aider à mettre un div Développement d'un site Web ou d'une appli mobile 24 Mai 2011
Quel générateur de blog pour aider mon référencement Débuter en référencement 2 Mai 2011
Votre avis m'aidera à progresser Demandes d'avis et de conseils sur vos sites 11 Février 2011