IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Script ksh pour Solaris


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Par défaut Script ksh pour Solaris
    Bonjour,

    je suis très limite concernant le kornshell, j'aimerai un petit coup de pouce svp.
    Je dois faire un script. Voici le contexte, j'ai un serveur de prod et un serveur de secours.
    Chaque nuit y'a une copie des données de la prod vers ce serveur de secours.
    J'aimerai un script qui arrête l'appli du serveur de secours et qui la relance

    Je lance via un crontab le script de sauvegarde à partir du serveur 1 (de prod) qui contient les lignes suivantes

    bien sûr $srv_2 est une variable qui renvoie au nom de mon serveur 2 (de secours)
    J'ai 3 utilisateurs correctement déclaré pour $usrunix

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     rsh $srv_2 /script/onoff.ksh $usrunix stop
     rsh $srv_2 /script/onoff.ksh $usrunix start
    Ma question concerne uniquement mon script onoff.ksh comment l'écrire ?
    Faut-il que je déclare aussi dedans mes utilisateurs ($usrunix) ?

    En tout cas le script ne fonctionne pas du serveur de prod j'obtiens ce message d'erreur
    /script/onoff.ksh[11]: /: cannot execute

    J'obtiens la même erreur quand j'essai de le lancer en direct du serveur de secours.

    La commande à exécuter est un stopall pour un arrêt et un startall pour un démarrage (la même commande pour les 3 utilisateurs mais pas le même $PATH pour les 3).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/ksh
     
    case "$1" in 'stop')
    stopall
    ;;
    'start')
    startall
    ;;
    esac

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    la structure initiale est bonne déjà

    le message d'erreur est peut être un problème de droits tout simplement où le besoin de charger en entête du script un fichier intégrant les variables locales des serveurs.

    lancer des rsh comme ça par contre il faut bien vérifier la passation à travers le script des variables, bien s'assurer et donc les tester que les variables sont valorisés, et le sont tjrs sur la machine distante.

    genre à chaque étape du script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    echo fonction_truc parametre parametre variable >> /var/log/$0.log
    fonction_truc parametre parametre variable #ou commande shell 
    if [ $? -ne 0 ] ; then 
    echo fonction truc OK >> /var/log/$0.log
    else
    echo fonction truc KO >> /var/log/$0.err
    exit 1 # si tu veux quitter le script sur erreur sinon c'est inutile
    fi
    comme ça en lisant le log tu sais exactement ce qui a été réellement interpreté, par le script et où il s'arrete/plante/bug etc...


    si tu veux faire un fichier de log unique c'est encore plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    (
    echo fonction_truc parametre parametre variable 
    fonction_truc parametre parametre variable #ou commande shell 
    if [ $? -ne 0 ] ; then 
    echo fonction truc OK 
    else
    echo fonction truc KO 
    exit 1 # si tu veux quitter le script sur erreur sinon c'est inutile
    fi
    ) >> /var/log/$0.log

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2015, 11h36
  2. demande d'aide pour création script.ksh
    Par LuckySoft dans le forum Linux
    Réponses: 2
    Dernier message: 26/11/2008, 13h34
  3. Réponses: 1
    Dernier message: 26/03/2008, 20h09
  4. Script awk ou ksh pour découper un fichier xml
    Par Griffith dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 15/05/2007, 22h58
  5. Script ksh - Valeur maximal d'un PID
    Par fidififouille dans le forum Linux
    Réponses: 7
    Dernier message: 09/08/2004, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo