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

Administration système Discussion :

Plus aucune commande ne fonctionne


Sujet :

Administration système

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 63
    Par défaut Plus aucune commande ne fonctionne
    salut a tous,

    J'ai un gros souci, je suis sur une machine ubuntu serveur où est hébergé mon site internet.

    En lancant un script, j'ai perdu accès à toutes mes commandes par exemple quand je fais un ls :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bash: /bin/ls: Aucun fichier ou dossier de ce type
    un apt-get par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bash: /usr/bin/apt-get: Aucun fichier ou dossier de ce type
    un /etc/init.d/mysql status

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bash: /etc/init.d/mysql : /bin/bash : mauvais interpréteur: Aucun fichier ou dossier de ce type
    J’espère que vous allez pouvoir m'aider.

    En vous remerciant d'avance.
    hungtuan

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Euh... y'avait quoi dans le script que tu as lancé ?

  3. #3
    Membre émérite Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Par défaut
    Bonjour,
    pourrais-tu nous paster ici ce fameux script qu'on en saches plus?
    Il semble qu'il ait modifié tes variables d'environnement ou un truc du genre ...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 63
    Par défaut
    C'était un script de backup simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    ## Initialisation du BACKUP FULL ##
    echo "Le backup full systeme a commence le "`date "+%Y-%m-%d a %T"`
    echo "Le backup full systeme a commence le "`date "+%Y-%m-%d a %T"` > $dirlogs/$date$namelog
    ## suppression du fichier .snaf pour sauvegarde complète ##
    /bin/rm -f $incremental 
    ## préparation de l'archivage et création du fichier snaf qui servira pour la sauvegarde incrèmentale ##
    $tar --listed-incremental $incremental -czPf $dirbackupsys/$date$namefiles $repertoire $repertoire2 $repertoire3 
    ## mise en place du code retour de l'action précèdente dans le fichier ok_or_ko.txt si 0 = ok ##
    echo $? > $dirbackupsys/ok_or_ko.txt
    ## on regarde ici le résultat code retour et on fait une condition if ##
    cat $dirbackupsys/ok_or_ko.txt | if echo $_ -eq 0;
    	then echo "Le full backup systeme s est realise avec succes a "`date "+%T"` >> $dirlogs/$date$namelog
    echo "Le full backup systeme s est realise avec succes a "`date "+%T"`
    	else echo "Le backup full systeme a echoue a "`date "+%T"` >> $dirlogs/$date$namelog
    echo "Le backup full systeme a echoue a "`date "+%T"`
    	fi
     
    ## Initialisation du BACKUP FULL SQL ##
    echo "Le backup full SQL a commence le "`date "+%Y-%m-%d a %T"`
    echo "Le backup full SQL a commence le "`date "+%Y-%m-%d a %T"` >> $dirlogs/$date$namelog
    ## création du dump sql ##
    # mkdir $dirbackup/$date-sql-incremental
    #$mv $dirbackupsql/mysql-bin.* $dirbackupsql/$date-sql-incremental
    #$mv $dirbackupsql/$date-sql-incremental/mysql-bin.index $dirbackupsql/
    $dump -h $sqlhost -u$user -p$pw -A --opt --single-transaction --flush-logs --master-data=2 > $dirbackupsql/$date$namesql
    ## mise en place du code retour de l'action précèdente dans le fichier ok_or_ko.txt si 0 = ok ##
    echo $? > $dirbackupsql/ok_or_ko.txt
    ## on regarde ici le résultat code retour et on fait une condition if ##
    cat $dirbackupsql/ok_or_ko.txt | if echo $_ -eq 0;
    	then echo "Le full backup sql s est realise avec succes a "`date "+%T"` >> $dirlogs/$date$namelog
    echo "Le full backup sql s est realise avec succes a "`date "+%T"`
     
    echo "La compression du dump sql a commence le "`date "+%T"`
    $tar -czPf $tarsql $dirbackupsql/$date$namesql
    echo "La compression du dump sql s'est realise avec succes a "`date "+%T"`
    /bin/rm -f $delete
     
    	else echo "Le backup full SQL a echoue a "`date "+%T"` >> $dirlogs/$date$namelog
    echo "Le backup full SQL a echoue a "`date "+%T"`
    	fi
     
    ## Sauvegarde du fichier sources.list et des packets installés ##
    dpkg --get-selections > $dirbackupsys/$date$paquet
     
    ## Initialisation du transfert vers le serveur de backup ##
    $scp $dirbackupsys/*_cardinalis* $sshsyst
    $scp $dirbackupsys/*liste* $sshsyst
    $scp $dirbackupsql/*cardinalis* $sshsql
    $scp $dirlogs/*cardinalis* $sshlog
    echo "Le backup FULL du "`date "+%Y-%m-%d a %T est termine"` >> $dirlogs/$date$namelog
    echo "Le backup FULL du "`date "+%Y-%m-%d a %T est termine"`
    ## Envoi du fichier LOG par EMAIL ##
    cat $dirlogs/$date$namelog | mail $email
     
    /bin/rm -f $dirbackupsys/20* ok*
    /bin/rm -f $dirbackupsql/20*
    /bin/rm -f $dirlogs/*
    En vous remerciant,

    hungtuan

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 63
    Par défaut
    Je me suis logout du serveur et quand je veux me SSH il me dit :

    /bin/bash: No such file or directory
    et il me refuse la connexion

    hungtuan

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur système
    Inscrit en
    Octobre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur système
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 63
    Par défaut rm
    A quoi correspondent les variables que tu utilisent dans tes rm ? Persos je vois que cela qui a pur corrompre ton système.

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    "/bin/rm -f $incremental" avec $incremental qui n'est pas setté... Ca n'augure rien de bon si tu as lancé ton script depuis /bin

  8. #8
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Pour moi c'est plutôt celui-ci qui pose problème : /bin/rm -f $dirlogs/*. Toutes les autres ne devraient juste pas s'exécuter (rm -f sans argument) mais celle-ci peut avoir des conséquences désastreuses : si $dirlogs n'est pas setté, tu fais un rm -f /*.
    Lancé en root c'est... mort.

    A mon avis ton install est foutue.

    Enfin si tu as physiquement accès à ton serveur, regarde quand même si ton disque est vide ou non, mais il y'a de fortes chances pour qu'il le soit...

  9. #9
    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 : 49
    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
    Citation Envoyé par Loceka Voir le message
    Pour moi c'est plutôt celui-ci qui pose problème : /bin/rm -f $dirlogs/*. Toutes les autres ne devraient juste pas s'exécuter (rm -f sans argument) mais celle-ci peut avoir des conséquences désastreuses : si $dirlogs n'est pas setté, tu fais un rm -f /*.
    Lancé en root c'est... mort.

    A mon avis ton install est foutue.

    Enfin si tu as physiquement accès à ton serveur, regarde quand même si ton disque est vide ou non, mais il y'a de fortes chances pour qu'il le soit...
    là ça pue la variable non valorisé qui a donc fini par un
    on ne lance jamais un rm dans un script qui contient un chemin qui utilises une variable si il n'y a pas un répertoire en dur qui précède la variable !!

    On test toujours qu'une variable soit valorisée avant de l'utiliser

    justement pour éviter ce genre de suppressions.

  10. #10
    Membre éclairé Avatar de supaplex
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Avril 2012
    Messages : 47
    Par défaut
    Il m'est arrivé exactement la même chose !
    un rm -f $dirlogs/* avec la variable d'environnement qui n'etait pas renseignée, donc vide ! un simple test if la_variable_n'est_pas_vide aurait pu eviter les degats !

  11. #11
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonjour.

    En effet ton script à du faire le ménage .

    Dans ce cas tu as deux solutions :
    - ré-installer
    - faire une copie du contenu des répertoires impactés à partir d'un live-CD de la distribution correspondante.

    Sachant que la première solution est largement préférable. Tu peux faire des sauvegardes de données à partir de ton live-CD. Dans tout les cas, j'espère que tu as un accès physiques à ton serveur car un simple accès SSH ne suffira pas

    Et à l'avenir, bien contrôler ce que l'on fait (avec des tests au niveau du script mais aussi des essais sur un répertoire de test voire même une machine de test, c'est indispensable) avant de lancer un script sur un serveur de production. On ne lance jamais des scripts sur un environnement de production sans l'avoir testé avant !

    Bon courage.

    Idriss

Discussions similaires

  1. Plus aucune application métro ne fonctionne
    Par webrider dans le forum Windows 8
    Réponses: 1
    Dernier message: 30/10/2013, 13h19
  2. Réponses: 4
    Dernier message: 25/01/2011, 10h25
  3. Un alert() en plus et mon code fonctionne, sans il foire :|
    Par narnou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2006, 13h44
  4. Plus aucune erreur à l'exécution
    Par delphi5user dans le forum Langage
    Réponses: 1
    Dernier message: 30/09/2005, 12h05
  5. [BCB5][FB1.5]Pourquoi cette commande ne fonctionne pas ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 1
    Dernier message: 17/11/2004, 16h27

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