Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1675 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Cron] Script qui marche plus via cron (tar / wget / uuencode / mail)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Cron] Script qui marche plus via cron (tar / wget / uuencode / mail)

n°761030
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 14:52:14  profilanswer
 

Bonjour,
 
j'ai fait un script, qui fonctionne très bien quand je le lance depuis une console root. Ce script lit une boite mail d'un utilisateur (webmailer) et à partir de là envoie des mails avec une page web en pièce jointe.
 
Le script fonctionne très bien quand il est lancé à la main, en revanche, quand il est lancé par le cron, il n'y a pas la pièce jointe dans les mails envoyés !
 
J'ai l'impression que tout le problème est entre les lignes 24 et 26.
 
Une idée ?
 
code :

Code :
  1. #!/bin/sh
  2. mkdir /tmp/webmailer
  3. touch /var/mail/webmailer
  4. cat /var/mail/webmailer | grep -e "From:" -e "Subject:" | sed -e "s/.*<\([a-z]*\.[a-z]*@[a-z]*.fr\)>.*/\1/g" -e "s/Subject: //g" > /tmp/webmailer.txt
  5. webmailer_url=""
  6. webmailer_mail=""
  7. webmailer_ope="m"
  8. while read ligne
  9. do
  10.         if [ $webmailer_ope == "m" ]
  11.         then
  12.                 webmailer_mail=$ligne
  13.                 webmailer_ope="u"
  14.         else
  15.                 webmailer_url=$ligne
  16.                 webmailer_ope="m"
  17.                 wget -P /tmp/webmailer/ -q $webmailer_url
  18.                 tar cvf /tmp/webmailer.tar /tmp/webmailer
  19.                 uuencode /tmp/webmailer.tar archive.tar | mail -s "$webmailer_url" "$webmailer_mail"
  20.                 echo "rm /tmp/webmailer/*"
  21.         fi
  22. done < /tmp/webmailer.txt
  23. echo "rm /tmp/webmailer.tar"
  24. rm /tmp/webmailer.txt
  25. echo "rmdir /tmp/webmailer"
  26. rm /var/mail/webmailer


Message édité par ceyquem le 10-12-2005 à 19:28:32
mood
Publicité
Posté le 10-12-2005 à 14:52:14  profilanswer
 

n°761032
jlighty
Posté le 10-12-2005 à 15:13:57  profilanswer
 

Essaye de faire une redirection de la commande tar dans un fichier.

n°761037
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 15:23:29  profilanswer
 

j'ai trouvé en fait : la commande cd ne semble pas fonctionner en cron : j'ai tout remplacé par des chemins absolus.
 
L'inconvénient est que j'ai la hiérarchie /tmp/webmailer dans mon archive tar, mais au moins ça marche. Si quelqu'un sait comment faire le tar sans prendre en compte les chemins, je suis preneur :)
 
Merci :jap:

n°761060
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:27:34  profilanswer
 

En fait non mon problème n'est pas résolu. En revanche, je l'ai clairement identifié :
- la commande wget fonctionne lorsque je lance le script manuellement,
- et plante lorsque le script est lancé par cron
 
la commande en question :

Code :
  1. wget -P /tmp/webmailer/ -q $webmailer_url
  2. tar cvf /tmp/webmailer.tar /tmp/webmailer


 
l'option -P me sert à positionner le dossier destination de la page téléchargée afin de la mettre dans un tar avec la commande suivante. Lorsque le cron lance le script, le tar envoyé est vide !

n°761061
jlighty
Posté le 10-12-2005 à 19:32:24  profilanswer
 

essaye de faire une redirection de la commande tar dans un fichier :

Code :
  1. tar cvf /tmp/webmailer.tar /tmp/webmailer 2> /tmp/log_tar


même chose pour wget


Message édité par jlighty le 10-12-2005 à 19:43:22
n°761065
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:37:33  profilanswer
 

voilà le code que j'ai mis comme tu me l'as suggéré :
 

Code :
  1. wget -P /tmp/webmailer/ $webmailer_url > /tmp/webmailer_wget.log
  2. tar cvf /tmp/webmailer.tar /tmp/webmailer &2> /tmp/webmailer_tar.log


 
voilà ce que j'ai obtenu :
 

Code :
  1. root@triforce /tmp #cat /tmp/webmailer_wget.log
  2. root@triforce /tmp #cat /tmp/webmailer_tar.log
  3. root@triforce /tmp #


 
des fichiers vides !! :/

n°761068
jlighty
Posté le 10-12-2005 à 19:41:37  profilanswer
 

/tmp/webmailer contient des fichiers ?
sinon tu peux réessayer avec ça :

Code :
  1. wget -P /tmp/webmailer/ $webmailer_url > /tmp/log 2>&1


même chose pour tar


Message édité par jlighty le 10-12-2005 à 19:45:07
n°761070
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:45:11  profilanswer
 

nan nan, le dossier est vide.
je pense vraiment que la commande wget plante car le tar est vide mais contient quand même les dossiers /tmp et /tmp/webmailer.
j'essaie la commande que tu me donnes

n°761073
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:48:33  profilanswer
 

résultat :
 

Code :
  1. /root/scripts/webmailer.sh[28]: wget: not found

n°761074
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:49:43  profilanswer
 

je crois que je comprends ce qu'il me reste à faire :)

mood
Publicité
Posté le 10-12-2005 à 19:49:43  profilanswer
 

n°761075
jlighty
Posté le 10-12-2005 à 19:51:56  profilanswer
 

oui /usr/bin/wget ou installer wget ;)

n°761076
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 19:54:53  profilanswer
 

en fait /usr/local/bin/wget, mais cela n'a quand même pas marché !! je capte pas trop là. je continue les tests comme tu me l'as montré :)

n°761079
jlighty
Posté le 10-12-2005 à 19:57:02  profilanswer
 

cette fois-ci le répertoire /tmp/webmailer contient des fichiers ?

n°761083
ceyquem
E falso sequitur quodlibet
Posté le 10-12-2005 à 20:09:40  profilanswer
 

ça marche !!! merci beaucoup jlighty !
 
pour info j'ai remplacé le nom de toutes les commandes par leur chemin absolu...
 
Bonne soirée :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Cron] Script qui marche plus via cron (tar / wget / uuencode / mail)

 

Sujets relatifs
script pour envoyer un mail via telnetSupprimer les retours d'erreur de mail avec postfix?
Envoi de mail en ligne de commande[SIEVE SCRIPT] création automatique
[Wifi] carte ok, signal ok, ip ok, mais ca marche pas...perte connexion internet apres script iptables
cron et log[Script Shell] Parser la liste des mails de la boîte r00t
CustomDNS(de DynDNS.org)+linksys-WAG54G et pas de mail ? 
Plus de sujets relatifs à : [Cron] Script qui marche plus via cron (tar / wget / uuencode / mail)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR