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

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut Problème de timing et de détection erronée de présence/absence d'une partition

    Bonsoir,

    Je viens vers vous pour chercher une idée, une inspiration, face à un problème hallucinant car terriblement intermittent de formatage d'un disque depuis un script.

    Le partitionnement avec sfdisk se passe toujours bien (je teste le retour), ensuite je suis censé formater avec mke2fs la Partition1 fraîchement créée à l'étape précédente, mais malgré tout un tas de contrôles, parfois je me ramasse cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mke2fs: Aucun fichier ou dossier de ce type lors de la tentative de détermination de la taille de secteur matériel
    Pourtant, avant d'attaquer avec mke2fs, il y a tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sync & wait $! # à la fin du partitionnement
    sleep 0.5 
    # bidouille infâme pour temporiser (vérifie l'existence de .../Partition1) :
    file $cible > /dev/null 2>&1
    ret=$?
    if [ $ret != "0" ]; then
      echo "pas zéro, donc $ret"  # jamais vu donc Partition1 existe
      sleep 2
      sync & wait $!
      file $cible > /dev/null 2>&1
      if [ $? != "0" ]; then return 32; fi
    fi
    sync & wait $!
    à une époque j'avais même rajouté, ici, avant le mke2fs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ### juste pour confirmer :
    ###    file $cible > /dev/null 2>&1
    ###    if [ $? != "0" ]; then exit 33; fi
    Et pour tout vous dire, le seul moyen que j'ai trouvé pour m'affranchir de cette $!@&€£*§ d'erreur, c'est de déporter le partitionnement dans un script secondaire, chose que je trouve complètement loufoque, donc je voulais réintégrer cette partie dans le script principal.

    Mais comment faire ? Je résume en 4 lignes :
    • je partitionne le disque
    • je teste la présence de Partition1 et si c'est bon
    • je lance le formatage avec mke2fs qui parfois me retourne
    • mke2fs: Aucun fichier ou dossier de ce type lors de la tentative de détermination de la taille de secteur matériel

    Je suis sec, là, les gars...

    En me relisant, la seule piste que je vois, c'est que Partition1 n'est pas complètement créée quand j'appelle mke2fs, malgré deux lignes sync & wait $! entre le partitionnement et le mke2fs.

    Comment être sûr que Partition1 est dispo si le test avec file est foireux ?
    Merci,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 443
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 443
    Points : 14 192
    Points
    14 192

    Par défaut

    Jipété !


    Censé !!!
    dis donc !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    3 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 565
    Points : 8 542
    Points
    8 542

    Par défaut

    Bonjour

    C'est sensé ce que dit N_BaH.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Bon, ok, fixed, et pour la détection erronée de la partition, une idée ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 443
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 443
    Points : 14 192
    Points
    14 192

    Par défaut

    non, désolé.
    ça pourrait être propre à sfdisk ?
    tu as essayé avec fdisk, gdisk ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Citation Envoyé par N_BaH Voir le message
    ça pourrait [être] propre à sfdisk ?
    tu as essayé avec fdisk, gdisk ?
    Non, je n'ai pas essayé avec d'autres partitionneurs, ils ont l'air moins simples.

    Je pensais avoir fait court, surtout avec une récapitulation en 4 lignes, on dirait que ce n'est toujours pas clair

    En plus j'avais synthétisé ma récap en 3 lignes :
    Citation Envoyé par Jipété Voir le message
    la seule piste que je vois, c'est que Partition1 n'est pas complètement créée quand j'appelle mke2fs, malgré deux lignes sync & wait $! entre le partitionnement et le mke2fs.

    Comment être sûr que Partition1 est dispo si le test avec file est foireux ?
    On dirait que file retourne 0 car l'outil peut accéder à... à quoi ? Une entrée dans la table d'inodes ? Mais mke2fs ne peut parfois pas travailler avec Partition1, c'est donc un problème de timing.
    Quels autres outils seraient disponibles ? J'avais pensé à stat, mais après un test rapide je n'en suis pas très sûr.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  7. #7
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3 100
    Points : 8 729
    Points
    8 729

    Par défaut

    Bonjour,

    Juste avant ton mke2fs, comme tu as fait un sync, essaye de rajouter echo 3 >/proc/sys/vm/drop_caches, ceci libérera le pagecache, dentries et inodes.
    Cordialement.

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 443
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 443
    Points : 14 192
    Points
    14 192

    Par défaut

    àmha, ça ne prend rien de temps de créer une partition, ce n'est qu'une "écriture dans un fichier" finalement, non ?

    c'est toujours le même disque ?
    mais, tu le partitionnes combien de fois par semaine ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Bonjour à vous deux,

    Citation Envoyé par N_BaH Voir le message
    àmha, ça ne prend rien de temps de créer une partition, ce n'est qu'une "écriture dans un fichier" finalement, non ?
    c'est ce que je croyais...

    Citation Envoyé par N_BaH Voir le message
    c'est toujours le même disque ?
    oui mais non : s'agissant d'un disque virtuel, je peux sans problème supprimer le fichier du "niveau" supérieur.
    Et en fait j'en utilise deux, voir ci-après.
    Citation Envoyé par N_BaH Voir le message
    mais, tu le partitionnes combien de fois par semaine ?
    Autant de fois que nécessaire, aurait dit ma grand-mère,


    Citation Envoyé par disedorgue Voir le message
    Juste avant ton mke2fs, comme tu as fait un sync, essaye de rajouter echo 3 >/proc/sys/vm/drop_caches, ceci libérera le pagecache, dentries et inodes.
    J'y ai presque cru...

    Ce script me sert à générer de A à Z deux disques virtuels : un pour des datas et un autre, ailleurs, qui sera son backup.

    Ce matin j'ai mis en place ta ligne, avant le mke2fs donc (qui est dans une fonction à qui je passe la cible sur laquelle elle doit travailler), je supprime les deux fichiers d'hier et je lance le machin :
    - détection du fichier source --> si absent création, partitionnement, formatage,
    - montage, ouverture de l'explorateur de fichier et présentation de la partoche, j'y copie deux-trois fichiers pour tester, fermeture de l'explorateur,
    - détection du fichier destination --> si absent création, partitionnement, formatage patatras
    - montage, rsync, démontage des deux et terminé. Mais à cause du patatras, ça n'y arrive pas,

    Bon, on dirait que maintenant l'erreur est systématique sur le second disque, et ce, que je passe par la fonction dans le second script ou qu'elle soit intégrée au script principal.

    La question est : pourquoi ça fonctionne avec un premier disque virtuel et que ça échoue avec un second, alors que toutes les manips sont appelées de la même manière, dans des fonctions à qui je passe des paramètres ?
    J'ai même tenté de faire exécuter le partitionnement (second script comme fonction dans principal) en tâche de fond avec attente de sa fin, pas mieux.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  10. #10
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3 100
    Points : 8 729
    Points
    8 729

    Par défaut

    Dommage...

    Si tu tournes avec plusieurs cpus, as-tu essayé de forcer tes process principaux à ne tourner que sur un même cpu (juste pour être sur d'être vraiment en séquentiel) ?

    La commande est taskset.
    Cordialement.

  11. #11
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Citation Envoyé par disedorgue Voir le message
    Si tu tournes avec plusieurs cpus, as-tu essayé de forcer tes process principaux à ne tourner que sur un même cpu (juste pour être sur d'être vraiment en séquentiel) ?
    Je ne teste pas tout de suite car je ne pense pas que le problème soit vraiment là -- mais il est bien planqué, ailleurs...

    Je viens de faire le test suivant : je ne supprime que le fichier de backup avant relance, donc au run le script détecte bien le source et ne crée que le backup et patatras quand même !
    La seule différence entre le source et le backup, c'est que le source est quelque part sur sda quand le backup est sur sdb.

    Concernant le mount de ce fichier de backup, dmesg me dit VFS: Can't find ext4 filesystem alors que si je "pause" le script pour aller voir avec mc, tout a l'air normal.


    En plus, pour cette piste du séquentiel pas vraiment séquentiel, mon script est blindé de if résultat_fonction = ok then fonction_suivante else sortie_en_erreur, chaque fonction commençant par un log pour que je voie où ça en est et bon, ça s'exécute comme attendu.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Bon, j'ai tenté taskset 0x00000001 mon_script -argument mais c'est pareil.

    Voilà où j'en suis :
    j'arrête le script avant le formatage et je vérifie en ligne_de_commande dans un autre terminal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mke2fs -q -t ext4 -F /chemin/disk/Partition1
    ça passe

    je fais le ménage et je relance le script sans l'arrêter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    log Format_partition /chemin/disk/Partition1, patience...
    mke2fs -q -t ext4 -F $param
    ça casse
    la chaîne après Format_partition est passée en paramètre à la fonction, et je vois bien grâce à la ligne log que c'est la bonne valeur.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3 100
    Points : 8 729
    Points
    8 729

    Par défaut

    Et tu as essayé de tout mettre sur sda (source et destination) ?

    juste histoire d'isolé la mise en cause du script ou du disque.

    Tu n'as pas des alertes dans dmesg à propos de sdb ?

    (Oui, je sais, je suis en train de mettre en cause un problème sur ton disque sdb )
    Cordialement.

  14. #14
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Citation Envoyé par disedorgue Voir le message
    Tu n'as pas des alertes dans dmesg à propos de sdb ?

    (Oui, je sais, je suis en train de mettre en cause un problème sur ton disque sdb )
    D'abord j'ai tremblé, ensuite j'ai fait dmesg | grep sdb et n'ai vu que les entrées du démarrage de la machine et rien d'autre, alors je me suis ressaisi, ai créé à la racine de sda un dossier disetst, ai modifié 1 paramètre dans le script, l'ai lancé et bim !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Formatage de la partition /chemin/disk/Partition1, patience...
    /chemin/disk/Partition1: Aucun fichier ou dossier de ce type lors de l'initialisation du superbloc
    Juste après en cas d'erreur je fais un ls et vous vous doutez bien que EntireDisk et Partition1 sont bien présents là où il faut -- c'est ça le gag !

    La seule chose que je note c'est que le message d'erreur n'est pas exactement le même. D'habitude c'est plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mke2fs: Aucun fichier ou dossier de ce type lors de la tentative de détermination de la taille matérielle de secteur
    Bah...

    ---
    Autre chose (que j'avais déjà signalée, ailleurs, il me semble) à propos de cet explorateur de fichiers, qui a parfois un comportement bizarre : il me cache (au sens informatique) des choses et me les raffiche alors que le contenu n'est plus le même (confirmé avec mc).
    Ça n'aurait pas un rapport ?
    Par ex., j'ai copié des fichiers dans la source et à chaque ouverture de l'explorateur (pcmanfm chemin_source) il m'affiche toujours le même contenu, ce qui est juste loufoque puisque je change les fichiers à chaque fois.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  15. #15
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3 100
    Points : 8 729
    Points
    8 729

    Par défaut

    Tu n'aurais pas un caractère à la noix sur la ligne qui lance le mke2fs qui fait que ça puisse changer un nom de fichier ?

    Tu as essayer de mettre un sync ; sleep 10 ; sync ; sleep 10 avant le mke2fs pour voir ?

    (et pendant ces 20 secondes d'attente, de regarder si tu vois bien le fichier...)
    Cordialement.

  16. #16
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Formatage de la partition /chemin/disk/Partition1, patience...
    #suis resté là en attente, ce qui m'a permis de vérifier dans un autre terminal que le fichier était bien présent, puis au bout des 20 sec,
    mke2fs: Aucun fichier ou dossier de ce type lors de la tentative de détermination de la taille matérielle de secteur


    Quant au caractère bizarre, si c'était le cas, j'aurais le problème sur le fichier source (si je le supprime également), ce qui n'est pas le cas -- d'où la loufoquerie de la chose,

    Je sens que je vais t'épuiser, et tu m'en vois désolé.

    En fait je pense que les messages d'erreur de mke2fs sont complètement bidon, ce qui ne nous aidera pas
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  17. #17
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3 100
    Points : 8 729
    Points
    8 729

    Par défaut

    Ce qui me pose problème, c'est que cela passe sur la source, pas sur la destination, il doit donc y avoir une différence dans ton script entre les 2 séquences...

    Si tu isoles chaque séquence, par exemple en commentant la partie source, est-ce que la partie destination passe et vice versa ?

    Je dis bien commenter, pas faire croire que la source existe.
    Cordialement.

  18. #18
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Citation Envoyé par disedorgue Voir le message
    Ce qui me pose problème, c'est que cela passe sur la source, pas sur la destination, il doit donc y avoir une différence dans ton script entre les 2 séquences...
    Moi pareil mais non, il n'y a pas de différence, c'est la même fonction, appelée deux fois.

    Citation Envoyé par disedorgue Voir le message
    Si tu isoles chaque séquence, par exemple en commentant la partie source, est-ce que la partie destination passe et vice versa ?

    Je dis bien commenter, pas faire croire que la source existe.
    Je ne suis pas sûr de bien comprendre ce que tu veux, je vais donc le dire autrement :

    d'abord je travaille avec le fichier source et s'il n'est pas présent il est créé puis le fichier est monté, un test est fait sur son partitionnement (si pas bon il est fait), un autre sur son formatage (si pas bon il est fait), et au final la partition est montée, pour pouvoir travailler avec ce qu'elle contient (affichage de l'explorateur et script en pause avec un read en attente).

    Quand le travail est fini, <ENTREE> et la même séquence se répète en changeant les noms de fichiers pour tester partitionner formater monter ce qui va devenir le backup de la source grâce à rsync.
    C'est ça que je ne comprends pas dans ta demande : car tout est à base de fonctions auxquelles je passe des paramètres (nom de fichiers, points de montage, etc.) et dont je teste les retours.

    Effectivement, le mystère le plus complet est lié au fait qu'il n'y a pas de pb avec le source et qu'il y en a un avec le backup, sans aucune raison puisque dans les deux cas c'est la même fonction qui est appelée.

    Si j'ai parlé de timings, c'est parce que je m'étais rendu compte il y a quelques temps qu'en rajoutant des sleep et des wait j'arrivais à faire fonctionner le bazar, mais ça me semble barge, cette manière de faire.
    Quand même, file $cible remonte 0 (= tout va bien, fichier présent) et juste après mke2fs se vautre avec fichier absent -- pour le backup, et pas pour le source.


    Bref, si tout va bien tout est démonté et à table !
    Bon app'
    (et c't'aprème je ne suis pas là...)

    EDIT :
    EXTRAORDINAIRE !

    Dernier test avant de manger, j'ai rajouté, après la ligne de log et avant le mke2fs la simple ligne ls $1 # $1 passé à la fonction, c'est le point de montage du fichier et là, miracle, aucun problème ! (indépendamment du fait que ls m'a affiché ce que je m'attendais à voir, à savoir EntireDisk Partition1)

    Je vous laisse méditer là-dessus, reprise des hostilités en fin d'après-midi (mais je me sens mieux, tout d'un coup)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  19. #19
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    7 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 7 903
    Points : 11 311
    Points
    11 311

    Par défaut

    Jipété, le retour.

    Une chose m'ennuie : qu'est-ce que ls peut donc faire de plus que file ou sync pour que mke2fs soit content ?

    Ne perdons pas ça de vue :
    Citation Envoyé par cours dvlp
    III-A. Éviter la commande « ls » dans les scripts
    Dans la plupart des cas, les « ls » présents dans les scripts sont superflus aussi bien pour parcourir une liste de fichiers que pour récupérer des informations sur des fichiers
    N_BaH va être furax, mais qu'y puis-je ? Nom : bah.gif
Affichages : 13
Taille : 275 octets

    Par quoi pourrais-je le remplacer, alors ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  20. #20
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    3 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 565
    Points : 8 542
    Points
    8 542

    Par défaut

    L'argumentation principale dit d'utiliser find et stat en lieu et place de ls pour obtenir le même résultat
    As-tu le même comportement grâce à find ou stat ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Batch] Problème Net Time.
    Par jockyboss777 dans le forum Windows
    Réponses: 9
    Dernier message: 11/09/2007, 19h29
  2. Problème format TIME
    Par bosse_one1 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 04/09/2007, 19h53
  3. Problème de timed out
    Par benassis dans le forum Formulaires
    Réponses: 8
    Dernier message: 17/08/2006, 17h08
  4. [PHP-JS] problème avec time()
    Par maxtt dans le forum Syntaxe
    Réponses: 14
    Dernier message: 31/07/2006, 05h12
  5. Problème de time-out avec un socket client.
    Par Depteam1 dans le forum MFC
    Réponses: 3
    Dernier message: 17/10/2005, 11h30

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