Et sinon, juste pour ma curiosité personnelle, y aurait moyen d'avoir un peu plus d'information sur cette histoire? Des explications, des liens, sur ce qui s'est passé, sur le comment, ...
pas besoin d'inventer un nouveau mot, c'est déjà ce qu'il veut dire, sa signification informatique n'étant qu'une dérivée de sa définition originale. Et comme tu peux le voir, son féminin est aussi spécifié :)
C'est ton expr2 du for qui est fausse, voir la documentation de bash pour savoir ce qu'il faut mettre (section "Commandes composées") et comment le mettre (section "Calcul Arithmetique").
La commande bindkey est une commande interne au shell, et... c'est en csh. Pour bash (qui est en général le shell par défaut), c'est bind qu'il faut utiliser:
bind -x '"^[":kill -9 -1'
pour l'aide, man bash -> section SHELL BUILTIN COMMANDS
Si le code dans ton commentaire (dans la gestion de l'évènement) est "correct", alors ton message précédent est normal:
Lorsque tu fait le grab avec owner_events = false:
- si tu clique dans ta fenêtre, tu recois un évènement -> tu le jette toi-même;
- si tu clique en dehors -> X voit un évènement. il voit qu'il n'est pas pour ta fenêtre. il voit que tu as demandé un grab. il le jette.
Typiquement ce que tu ne veux pas...
Sinon, je me répond (encore) à moi-même, j'adore me contredire (fight_club powa), mais on trouve aussi ceci sur le site:
http://www.fs-driver.org/relnotes.html
With Ext2 IFS version 1.11, drive letter management is significantly improved: When a removable device, e.g. an external USB hard disk drive, is unplugged, drive letters for that device are automatically deleted
[...]
En fait, les Removable Media semble être supportés... Quelqun de motivé pour proposer à l'auteur de mettre à jour?
Euh non, en fait j'ai peut-être répondu un peu vite, j'ai lu sdb et j'ai pensé à Removable Media, ce qui ne semble pas être le cas dans ton message.
Par contre, pour le passer en ext3, tu a juste fait un mke2fs sur la partition, ou tu as aussi changé le type avec fdisk? Sans ce deuxième point, c'est peut-être pour cela qu'il ne la reconnais pas?
http://www.fs-driver.org/troubleshoot.html
There is an unsatisfactory answer only: it is not possible.
[...] So there is one straight advice only: do not use removable media with more than one partition with Windows.
Ca fait longtemps que j'ai pas fait de Gtk, et je ne fait pas de python, mais de ce que j'en sait:
- il faut appeller la fonction X XGrabPointer;
- dans Gtk/Gdk, celle-ci est appelée par gdk_grab_pointer;
- la fonction gtk_widget_grab sert seulement à définir quel widget à le focusdans sa fenêtre.
Quand je regarde les paramètres de la fonction gdk_grab_pointer, je me rend compte que ceux-ci ressemblent beaucoup à son équivalent X :)
En gros, les paramètres sont, dans l'ordre:
- window, le fenêtre qui monopolise le pointer, pas de soucis là-dessus;
- owner_events, contrôle comment sont reportés les évenements pour les autres fenêtres de la même application. En gros, si tu le met à False, alors les clicks sur les autres fenêtres seront considérés comme ne s'adressant pas à ta fenêtre, et seront donc jetés, alors que si tu le met à True ceux-ci seront considérés comme destinés à ta fenêtre... donc pas jetés;
- event_mask les évènements que tu ne veux pas jeter (Remarque: uniquement pour la souris);
- confine_to l'id d'une fenêtre dans laquelle la souris sera bloquée (cela servait sur certaines versions de xlock), le pointeur ne pourra pas en sortir;
- cursor le curseur de souris à afficher tant que le grab est actif;
- time_ le timestamp de l'évènement qui est la cause du grab. Cela sert à X pour savoir a partir de quand rediriger les évenements. Tu peux récupérer ce paramètre depuis l'évenement: event->time, ou dans le pire des cas utiliser GDK_CURRENT_TIME.
Je pense que pour ton problème le plus simple c'est de commencer par etendre la 4e partition (la 'etendue'), puis soit:
- de créer une nouvelle partition dans l'étendue (à priori, 5=swap et 6=home, donc 7);
- d'étendre le 'home' pour qu'il occupe toute la place ajoutée
Sinon, la copie avec dd est un peu osée, il y a dans le boot sector (le premier secteur du disque, qui contient la table des partition) des informations relatives à la 'géométrie' du disque, donc les copier telles-quelles sur un disque différent, c'est optimiste :)
La vitesse d'écriture dans de la Flash est plus faible que le débit USB (en tout cas en 2.0), donc il y a moyen d'accélerer en écrivant plusieurs clés à la fois.
La limite au nombre de clés est donnée quand le bus USB est à saturation, et que la somme des débits d'écriture max de chaque clé est atteind.
Dans ces conditions, pour minimiser le temps des opérations, il suffit de placer N clés par hub (N étant le résultat précédent), avec un hub par port USB de la machine...
- à simplifier le travail de manutention?
En faisant abstraction du paragraphe précédent, supposont qu'écrire une clé prenne 1h. S'il y a 10 clés à écrire, en les écrivant une par une, il faut 10 heures, avec 11 interventions. Maintenant, si tu met un hub et que tu en écris 10 en même temps, en supposant que la bande passante soit bien divisée, il te faudra encore 10h... mais seulement 2 interventions, ce qui peut avoir plein d'avantages: faire autre chose, le faire pendant la nuit, ...
Idéalement, il faudrait faire un compromis des deux pour trouver la situation qui trouve la meilleure solution entre temps d'écriture et nombre d'intervention pour un nombre total de clé donné.
Je pense que son chemin "bizarre" est du à l'utilisation de la cygwin (les outils GNU sous Windows), mais c'est une hypothèse...
Par contre, là ou j'ai un gros doute, c'est pour le -g9032533x9018988: cela donne (normalement) la taille (en pixels) de l'image de sortie... C'est un peu gros, non ?
Evidemment, vu sous cet angle, cela change tout...
Perso, j'évite les autotools comme la peste, bien trops compliqué pour mon petit cerveau usé par le poids des ans...
Ce qui me gêne dans la solution, c'est que:
- autotools, c'est fait pour être portable;
- -ffast-math, c'est gcc only, nettement moins portable;
- les fonctions mathématiques en inline, c'est GNU-libc only, donc peu portable aussi;
- la libm est un peu particulière, et pas obligatoire sur certains systèmes...
Pour bien faire les choses, il faudrait que tu voie comment dans d'autres projet:
- ils traitent le cas particulier de la libm;
- ils définissent les bibliothèques au cas par cas pour les binaires, pour ne pas linker quand c'est inutile.
Sinon pour info, par rapport à la solution que je proposait, la seule option qui t'aurai intéréssé et qui est apportée par le -O3, c'est en fait l'option -finline-functions que tu peux utiliser seule.
Je ne pense pas qu'il y a un problème sur le malloc, j'en suis sûr: c'est l'expérience qui fait que l'on fini par voir rapidement ce genre d'erreurs sur de petits programmes...
Pour ton problème de caractères bizarres, je te confirmes aussi que c'est le même problème, ton changement sur le free a juste masqué l'un des symptomes.
Pour te donner un indice supplémentaire, je t'invites à regarder le man de strcpy, en particulier la remarque entre parenthèses dans le premier paragraphe.
...parce que si c'est le cas, vaudrait mieux en discuter avec tes profs, ils seront plus à même de répondre par des commentaire qui t'aideront, plutôt qu'un résultat qui ne t'apprend rien.
Sinon, un indice:
- tu as bien un problème de free, mais il ne plante pas le programme, donc ne pas s'en inquiter pour le moment;
- ton problème est dans le malloc, comme d'habitude.
Puis quelques remarques:
- un certain nombre de tes commentaires sont totalement inutiles, alors qu'il y aurait moyen d'y mettre une information;
- mais essayer de commenter c'est tout de même une bonne chose, essaie juste de réfléchir à ce que tu veux mettre. C'est dur au départ, mais si tu fait l'effort, tu y gagnera vite par la suite;
- très bon réflexe de mettre des commentaire devant chaque fonction, essaie de ne jamais perdre cette habitude;
- pourquoi une variable arguments et une autre tE ? entre un nom explicite qui est en fait faux, et un nom crypté, heu...
Voila, pardon pour mes remarques un peu complexes/dures, mais je suis parti du principe que tu voulais apprendre, donc j'essaie de te faire avancer plutôt que de pondre un résultat tout prêt qui au final ne t'aidera pas. Mais si tu veux juste un truc qui marche, dis-le.
En fait, la formulation:
"une version embarquée dans la libc, et une autre dans la libm"
est incorrecte. Toutes les fonctions mathématiques sont dans la libm.
Par contre, si tu est pret à faire des concessions sur la précision (théoriquement, en tout cas), au profit de la vitesse (moins théorique), tu peux utiliser les fonctions inline.
Pour ce faire, il faut ajouter les options suivantes lors de la compilation: -ffast-math -O3
À partir de ce moment, plus besoin de linker la libm, sauf fonction spéciale.
Enfin, je concluerai en disant qu'il ne faut pas t'inquiéter de linker avec la libm, ce n'est pas sale, plein de coders bien le font. D'ailleurs, elle sera déjà en mémoire à cause d'un autre programme, donc...
Pour le trajet Lyon-Limoges, tu as certainement regardé sur voyages-sncf, pour ce prix et par Paris... Si tu regardes par la Deutsche Bahn, tu trouves:
Durée: 4h59
Changements: 0
Prix: 92 euros (pour 2)
et donc, sans passer par Paris.
la théorie se vérifie encore...
Globalement, j'ai aussi constaté que 2, c'est la limite pour le train. A deux, il y a matière à hésiter, au-dela par contre, c'est (malheureusement) la voiture.
Par contre, pour les voyages (très) occasionnels, je recommande à tous le Billet Annuel:
- Valable une seule fois dans l'année;
- 25% de réduction (mais ça, c'est facile);
- si paiement en chèques vacances, 50% de réduction, sans compter la subvention sur les chèques vacances !
Tant qu'a faire un find, tu peux faire un peu plus simple: find /mnt/suavegarde/moi/ -printf 'chmod %m %p' | sed -e 's@/mnt/suavegarde/moi@/home/moi@' | sh
Cela devrait normalement passer.
Un premier point serait de regarder où cela se passe mal. Pour ce faire, tu peux rajouter l'option -x dans la première ligne. Ceci fait, l'éxécution du script va afficher chaque commande exécutée. D'après la doc de crontab, tu devrais obtenir le tout dans le mail de l'utilisateur en question (donc root).
PS: Et si tu peux faire tes essais avec un compte user plutôt que root, tu pourrais t'éviter de mauvaises surprises...
[^] # Re: Mais aussi ...
Posté par Christophe --- . En réponse au journal Petit bilan à l'occasion des 11 ans du site. Évalué à 2.
[^] # Re: Échappements ?
Posté par Christophe --- . En réponse au message Bash: GNU find & ! -path. Évalué à 1.
Pour ce qui est de l'échappement, il faut que tu mettes '\\!' et cela devrait passer.
# avec pdftk?
Posté par Christophe --- . En réponse au message modifier metadonnées d'un pdf. Évalué à 3.
D'après la doc de pdftk, il permet de modifier ces champs. Ce que tu peux faire par exemple, c'est:
- récupérer les infos du 2e fichier:
pdftk le_pdf_de_ooo.pdf dump_data le_fichier_de_data
- quand tu fait le merge, lui dire de reprendre ces infos:
pdftk ... update_info le_fichier_de_data
Et normalement, ça devrait être bon... En prime, tu peux aussi modifier ce que tu veux entre temps dans le fichier le_fichier_de_data si tu veux.
[^] # Re: Ma proposition
Posté par Christophe --- . En réponse au journal Fusion Rails/Merb, quelques questions.. Évalué à 5.
Donc, pour la version française, je propose de l'appeler...:
voyages-sncf !
...bon ok, c'est tout pourri /o\ ~> []
[^] # Re: ce n'est pas du tout un compilateur
Posté par Christophe --- . En réponse au message compileur. Évalué à -1.
http://atilf.atilf.fr/dendien/scripts/tlfiv5/displayp.exe?13(...)
pas besoin d'inventer un nouveau mot, c'est déjà ce qu'il veut dire, sa signification informatique n'étant qu'une dérivée de sa définition originale. Et comme tu peux le voir, son féminin est aussi spécifié :)
# expression 2 du for
Posté par Christophe --- . En réponse au message problème script simple. Évalué à 2.
C'est ton expr2 du for qui est fausse, voir la documentation de bash pour savoir ce qu'il faut mettre (section "Commandes composées") et comment le mettre (section "Calcul Arithmetique").
[^] # Re: bindkey
Posté par Christophe --- . En réponse au message Bind de touche en mode console. Évalué à 2.
La commande bindkey est une commande interne au shell, et... c'est en csh. Pour bash (qui est en général le shell par défaut), c'est bind qu'il faut utiliser:
bind -x '"^[":kill -9 -1'
pour l'aide, man bash -> section SHELL BUILTIN COMMANDS
[^] # Re: J'y connais rien...
Posté par Christophe --- . En réponse au message Faire disparaitre une fenêtre GTK quand on clique en dehors. Évalué à 1.
Lorsque tu fait le grab avec owner_events = false:
- si tu clique dans ta fenêtre, tu recois un évènement -> tu le jette toi-même;
- si tu clique en dehors -> X voit un évènement. il voit qu'il n'est pas pour ta fenêtre. il voit que tu as demandé un grab. il le jette.
Typiquement ce que tu ne veux pas...
Ai-je loupé quelque-chose?
[^] # Re: C'est pas possible.
Posté par Christophe --- . En réponse au message Ajout nouveau DD. Évalué à 1.
http://www.fs-driver.org/relnotes.html
With Ext2 IFS version 1.11, drive letter management is significantly improved: When a removable device, e.g. an external USB hard disk drive, is unplugged, drive letters for that device are automatically deleted
[...]
En fait, les Removable Media semble être supportés... Quelqun de motivé pour proposer à l'auteur de mettre à jour?
[^] # Re: C'est pas possible.
Posté par Christophe --- . En réponse au message Ajout nouveau DD. Évalué à 1.
Par contre, pour le passer en ext3, tu a juste fait un mke2fs sur la partition, ou tu as aussi changé le type avec fdisk? Sans ce deuxième point, c'est peut-être pour cela qu'il ne la reconnais pas?
# C'est pas possible.
Posté par Christophe --- . En réponse au message Ajout nouveau DD. Évalué à 1.
D'après le site, ce n'est pas possible, je cite:
http://www.fs-driver.org/troubleshoot.html
There is an unsatisfactory answer only: it is not possible.
[...] So there is one straight advice only: do not use removable media with more than one partition with Windows.
# J'y connais rien...
Posté par Christophe --- . En réponse au message Faire disparaitre une fenêtre GTK quand on clique en dehors. Évalué à 3.
Ca fait longtemps que j'ai pas fait de Gtk, et je ne fait pas de python, mais de ce que j'en sait:
- il faut appeller la fonction X XGrabPointer;
- dans Gtk/Gdk, celle-ci est appelée par gdk_grab_pointer;
- la fonction gtk_widget_grab sert seulement à définir quel widget à le focus dans sa fenêtre.
Quand je regarde les paramètres de la fonction gdk_grab_pointer, je me rend compte que ceux-ci ressemblent beaucoup à son équivalent X :)
En gros, les paramètres sont, dans l'ordre:
- window, le fenêtre qui monopolise le pointer, pas de soucis là-dessus;
- owner_events, contrôle comment sont reportés les évenements pour les autres fenêtres de la même application. En gros, si tu le met à False, alors les clicks sur les autres fenêtres seront considérés comme ne s'adressant pas à ta fenêtre, et seront donc jetés, alors que si tu le met à True ceux-ci seront considérés comme destinés à ta fenêtre... donc pas jetés;
- event_mask les évènements que tu ne veux pas jeter (Remarque: uniquement pour la souris);
- confine_to l'id d'une fenêtre dans laquelle la souris sera bloquée (cela servait sur certaines versions de xlock), le pointeur ne pourra pas en sortir;
- cursor le curseur de souris à afficher tant que le grab est actif;
- time_ le timestamp de l'évènement qui est la cause du grab. Cela sert à X pour savoir a partir de quand rediriger les évenements. Tu peux récupérer ce paramètre depuis l'évenement: event->time, ou dans le pire des cas utiliser GDK_CURRENT_TIME.
Voila, j'espère que cela t'aidera...
Christophe.
# Agrandir la 4e?
Posté par Christophe --- . En réponse au message Copie de disque et Partitions. Évalué à 1.
Je pense que pour ton problème le plus simple c'est de commencer par etendre la 4e partition (la 'etendue'), puis soit:
- de créer une nouvelle partition dans l'étendue (à priori, 5=swap et 6=home, donc 7);
- d'étendre le 'home' pour qu'il occupe toute la place ajoutée
Sinon, la copie avec dd est un peu osée, il y a dans le boot sector (le premier secteur du disque, qui contient la table des partition) des informations relatives à la 'géométrie' du disque, donc les copier telles-quelles sur un disque différent, c'est optimiste :)
[^] # Re: Fonction obsolète
Posté par Christophe --- . En réponse au message Alarme (boucle). Évalué à 2.
Cette fonction est obsolète, utilisez nanosleep(2) ou setitimer(2) à sa place.
...il faut toujours jeter un oeil à la section notes...
Sinon, je rajouterai aussi que dans le Synopsys, il est aussi précisé ceci:
#define _XOPEN_SOURCE 500
c'est probablement ce qui manque si tu veux *vraiment* utiliser cette fonction.
[^] # Re: Aîe...
Posté par Christophe --- . En réponse au journal Ubuntu 8.10 BETA est sorti. Évalué à 1.
#emacs /etc/network/interfaces
C'est dur... :)
-->[]
[^] # Re: Je veux bien mais....
Posté par Christophe --- . En réponse au message Duplication de clé USB. Évalué à 2.
http://www.bigbruin.com/reviews05/thumbraid_1
...ou comment faire du RAID1 sur 4 clé USB... du bonheur :)
[^] # Re: Je veux bien mais....
Posté par Christophe --- . En réponse au message Duplication de clé USB. Évalué à 2.
La vitesse d'écriture dans de la Flash est plus faible que le débit USB (en tout cas en 2.0), donc il y a moyen d'accélerer en écrivant plusieurs clés à la fois.
La limite au nombre de clés est donnée quand le bus USB est à saturation, et que la somme des débits d'écriture max de chaque clé est atteind.
Dans ces conditions, pour minimiser le temps des opérations, il suffit de placer N clés par hub (N étant le résultat précédent), avec un hub par port USB de la machine...
- à simplifier le travail de manutention?
En faisant abstraction du paragraphe précédent, supposont qu'écrire une clé prenne 1h. S'il y a 10 clés à écrire, en les écrivant une par une, il faut 10 heures, avec 11 interventions. Maintenant, si tu met un hub et que tu en écris 10 en même temps, en supposant que la bande passante soit bien divisée, il te faudra encore 10h... mais seulement 2 interventions, ce qui peut avoir plein d'avantages: faire autre chose, le faire pendant la nuit, ...
Idéalement, il faudrait faire un compromis des deux pour trouver la situation qui trouve la meilleure solution entre temps d'écriture et nombre d'intervention pour un nombre total de clé donné.
En espérant que ma réponse t'ais intéréssé...
[^] # Re: quelques vérifications s'imposent
Posté par Christophe --- . En réponse au message XFig et cygwin : problème lors de l'export de fichier.. Évalué à 1.
Je pense que son chemin "bizarre" est du à l'utilisation de la cygwin (les outils GNU sous Windows), mais c'est une hypothèse...
Par contre, là ou j'ai un gros doute, c'est pour le -g9032533x9018988: cela donne (normalement) la taille (en pixels) de l'image de sortie... C'est un peu gros, non ?
[^] # Re: Tu veux des fonctions inline?
Posté par Christophe --- . En réponse au message Comment utiliser les fonctions trigonométriques standard ?. Évalué à 3.
Perso, j'évite les autotools comme la peste, bien trops compliqué pour mon petit cerveau usé par le poids des ans...
Ce qui me gêne dans la solution, c'est que:
- autotools, c'est fait pour être portable;
- -ffast-math, c'est gcc only, nettement moins portable;
- les fonctions mathématiques en inline, c'est GNU-libc only, donc peu portable aussi;
- la libm est un peu particulière, et pas obligatoire sur certains systèmes...
Pour bien faire les choses, il faudrait que tu voie comment dans d'autres projet:
- ils traitent le cas particulier de la libm;
- ils définissent les bibliothèques au cas par cas pour les binaires, pour ne pas linker quand c'est inutile.
Sinon pour info, par rapport à la solution que je proposait, la seule option qui t'aurai intéréssé et qui est apportée par le -O3, c'est en fait l'option -finline-functions que tu peux utiliser seule.
[^] # Re: C'est un exercice?
Posté par Christophe --- . En réponse au message Problème pour l'affichage du contenu de plusieurs répertoires. Évalué à 3.
Pour ton problème de caractères bizarres, je te confirmes aussi que c'est le même problème, ton changement sur le free a juste masqué l'un des symptomes.
Pour te donner un indice supplémentaire, je t'invites à regarder le man de strcpy, en particulier la remarque entre parenthèses dans le premier paragraphe.
# C'est un exercice?
Posté par Christophe --- . En réponse au message Problème pour l'affichage du contenu de plusieurs répertoires. Évalué à 3.
Sinon, un indice:
- tu as bien un problème de free, mais il ne plante pas le programme, donc ne pas s'en inquiter pour le moment;
- ton problème est dans le malloc, comme d'habitude.
Puis quelques remarques:
- un certain nombre de tes commentaires sont totalement inutiles, alors qu'il y aurait moyen d'y mettre une information;
- mais essayer de commenter c'est tout de même une bonne chose, essaie juste de réfléchir à ce que tu veux mettre. C'est dur au départ, mais si tu fait l'effort, tu y gagnera vite par la suite;
- très bon réflexe de mettre des commentaire devant chaque fonction, essaie de ne jamais perdre cette habitude;
- pourquoi une variable arguments et une autre tE ? entre un nom explicite qui est en fait faux, et un nom crypté, heu...
Voila, pardon pour mes remarques un peu complexes/dures, mais je suis parti du principe que tu voulais apprendre, donc j'essaie de te faire avancer plutôt que de pondre un résultat tout prêt qui au final ne t'aidera pas. Mais si tu veux juste un truc qui marche, dis-le.
# Tu veux des fonctions inline?
Posté par Christophe --- . En réponse au message Comment utiliser les fonctions trigonométriques standard ?. Évalué à 9.
En fait, la formulation:
"une version embarquée dans la libc, et une autre dans la libm"
est incorrecte. Toutes les fonctions mathématiques sont dans la libm.
Par contre, si tu est pret à faire des concessions sur la précision (théoriquement, en tout cas), au profit de la vitesse (moins théorique), tu peux utiliser les fonctions inline.
Pour ce faire, il faut ajouter les options suivantes lors de la compilation:
-ffast-math -O3
À partir de ce moment, plus besoin de linker la libm, sauf fonction spéciale.
Enfin, je concluerai en disant qu'il ne faut pas t'inquiéter de linker avec la libm, ce n'est pas sale, plein de coders bien le font. D'ailleurs, elle sera déjà en mémoire à cause d'un autre programme, donc...
[^] # Re: Plus cher et plus nul, ça n'existe pas
Posté par Christophe --- . En réponse au journal Pétition voyage-sncf. Évalué à 1.
Pour le trajet Lyon-Limoges, tu as certainement regardé sur voyages-sncf, pour ce prix et par Paris... Si tu regardes par la Deutsche Bahn, tu trouves:
Durée: 4h59
Changements: 0
Prix: 92 euros (pour 2)
et donc, sans passer par Paris.
la théorie se vérifie encore...
Globalement, j'ai aussi constaté que 2, c'est la limite pour le train. A deux, il y a matière à hésiter, au-dela par contre, c'est (malheureusement) la voiture.
Par contre, pour les voyages (très) occasionnels, je recommande à tous le Billet Annuel:
- Valable une seule fois dans l'année;
- 25% de réduction (mais ça, c'est facile);
- si paiement en chèques vacances, 50% de réduction, sans compter la subvention sur les chèques vacances !
[^] # Re: idee comme ça
Posté par Christophe --- . En réponse au message Récupérer droits sur fichiers. Évalué à 1.
Tant qu'a faire un find, tu peux faire un peu plus simple:
find /mnt/suavegarde/moi/ -printf 'chmod %m %p' | sed -e 's@/mnt/suavegarde/moi@/home/moi@' | sh
Cela devrait normalement passer.
# Lancer en mode debug?
Posté par Christophe --- . En réponse au message Problème d'initialisation de variables dans Bash lorsque cron lance le script. Évalué à 2.
Un premier point serait de regarder où cela se passe mal. Pour ce faire, tu peux rajouter l'option -x dans la première ligne. Ceci fait, l'éxécution du script va afficher chaque commande exécutée. D'après la doc de crontab, tu devrais obtenir le tout dans le mail de l'utilisateur en question (donc root).
PS: Et si tu peux faire tes essais avec un compte user plutôt que root, tu pourrais t'éviter de mauvaises surprises...