[BASH] Probleme cron et autres [Résolu]

Probleme cron et autres [Résolu] [BASH] - Shell/Batch - Programmation

Marsh Posté le 05-01-2008 à 14:18:40    

Bonjour ,  
alors voila j'ai un problème avec le fameux cron!
 
Je souhaite lancer un script toute les minutes, pour cela j'ai créer un fichier cron.liste situé dans Desktop, à l'intérieur s'y trouve * * * * * /home/stan/Desktop/script.sh > /dev/null
Ensuite en console je tape : crontab /home/stan/Desktop/cron.liste (pour ajouter la tache a la crontab)
Je fais crontab -l et là je vois bien ma tache qui s'est ajouté!
 
probleme: la tache est bien ajouter mais rien ne se passe !
Pouvez vous m'aider ? merci d'avance
 
Sinon , une petite autre question:
je recupère des résultats de commande dans une variable selon la forme:
var=$(cat ./texte)
var2=$(cat ./texte) (cette commande s'execute après un sleep donc il peut y avoir des modifications)
 
Dans ces variables, on trouvent des chaines de caracteres et je souhaite faire une comparaison. En gros j'avais penser a faire modif=$var2 - $var pour avoir comme resultat les caracteres qui different des deux variables mais cela ne marche pas!
Je sais pas si c'est très claire mon explication ^^
 
Merci encore.
Stany


Message édité par stany13 le 06-01-2008 à 17:25:30
Reply

Marsh Posté le 05-01-2008 à 14:18:40   

Reply

Marsh Posté le 05-01-2008 à 17:12:29    

Up :)  
Personne a une réponse a m'apporter ?

Reply

Marsh Posté le 05-01-2008 à 17:29:26    

Ton script est il exécutable ?
Que contient ton script ?
Pour vérifier que cron tente de l'éxécuter inserts en deuxième ligne (la ligne juste après #!...)

touch ~/test


et vérifie si oui ou non le fichier est créé au bout d'une minute


Message édité par o'gure le 05-01-2008 à 17:29:47

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 05-01-2008 à 18:06:21    

Oui mon scrip est executable , j'ai essayer en faisant chmod 777 ./script ou encore chmod +x ./script et rien n'y fais .
 
Mon script est un script pour surveiller un systeme il fait a peu près 400 lignes de codes.
 
Je fais faire ce que tu me fis , je posterais la réponse.
merci

Reply

Marsh Posté le 05-01-2008 à 19:06:07    

Bon alors j'ai bien fait comme tu m'as dis , j'ai rajouter touch chemin/test dans mon script.
J'attends plusieurs minutes mais rien ne se passe ...
 
Je vois vraiment pas ou est le problème ?! Je dois utiliser le cron car c'est un projet pour mes études que je fais et le cron est demandé.

Reply

Marsh Posté le 05-01-2008 à 21:57:20    

pour le debug ne fait pas la redirection dans /dev/null et renseigne la variable MAILTO dans ta crontab pour recevoir par mail les messages d'erreurs et l'output de ton script.
 
cf man 5 crontab
 
ps: ton problème serait mieux dans OS Alternatif ;-)


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 06-01-2008 à 03:36:35    

Bon alors maintenant , si je met touch /home/stan/Desktop/test avec un cron de */1 * * * * , toutes les minutes ,j'ai un fichier test qui se crée sur mon bureau !  
 
Youpi le cron marche !! ^^  
 
Pareil si je change " touch /home/stan/Desktop/test " par " echo "ok" >> /home/stan/Desktop/testok , donc c'est nikel !  
 
Par contre , si je fais en sorte que sa lance mon script , cela ne fais plus rien !
J'ai vérifier qu'il est bien en chmod +x et que tous les chemins soit des chemin de la forme /home/.../monscript , donc je ne vois pas ce qui pose problème ...

Reply

Marsh Posté le 06-01-2008 à 09:46:44    

Ton script fonctionne quand tu le lances à la main (pas avec cron) ?

Reply

Marsh Posté le 06-01-2008 à 11:09:04    

matafan a écrit :

Ton script fonctionne quand tu le lances à la main (pas avec cron) ?


J'ajouterai : "à la main sans aucun environnement utilisateur de chargé"

Reply

Marsh Posté le 06-01-2008 à 11:45:29    

Quand je le lance a partir du prompt , le script marche niquel !
 
Sa peut venir d'ou alors ?
 
edit: je sais pas s'il y a un rapport mais par exemple quand je test avec echo "ok" >> ~/testok , c'est une commande qui n'a pas besoin d'ouvrir la console et celui ci marche.
Mon script que je souhaite mettre en cron doit absolument lancé une console , est ce que sa aurait un rapport avec le probleme , une ligne a mettre en plus ou autres ??


Message édité par stany13 le 06-01-2008 à 12:29:26
Reply

Marsh Posté le 06-01-2008 à 11:45:29   

Reply

Marsh Posté le 06-01-2008 à 12:40:03    

Comme l'a suggéré Elmoricq, essaie aussi en lançant ton script à la main avec "env -i /home/stan/Desktop/script.sh" pour voir si ça marche aussi avec un environnement vide.

Reply

Marsh Posté le 06-01-2008 à 15:54:36    

Je viens d'essayer avec env -i et cela fonctionne , mais toujours pas avec le cron .
 
Quel est l'utilité d'essayer avec env -i ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed