#1 Le 30/09/2014, à 10:03
- ing_tiziouzou2014
[RÉSOLU]Problème de crontab
Bonjour à tous ;
Cette fois-ci ,le CRON ne lance pas mes scripts php, et pourtant ces derniers s'exécutent manuellement.j'ai redémarré cron à l'aide de la commande:
sudo restart cron
voici ce qui s'affiche:
cron start/running, process 3209
Je pense que mon cron n'est pas en bon état car quand je tape aussi :
sudo cron
J'obtiens le message :
cron: can't lock /var/run/crond.pid, otherpid may be 3209: Resource temporarily unavailable
Voici aussi mon fichier crontab:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#35 10 * * * rm -rf /home/Bureau/suivi# m h dom mon dow command
#59 08 * * * root ls >f1.txt
#19 15 * * * root wget -q http://127.0.0.1/suppression.php
#57 08 * * * root php /var/www/html/script_min_max.php
#20 16 * * * root php /var/www/html/createtable.php
#17 16 * * * root php /var/www/html/cron_08_09_2014.php
22 09 * * * root php /var/html/mon_script.php
Quelqun pourrait me dire d'où vient le problème SVP?
Je vous remercie d'avance
Dernière modification par ing_tiziouzou2014 (Le 01/10/2014, à 08:56)
Hors ligne
#2 Le 30/09/2014, à 10:21
- Postmortem
Re : [RÉSOLU]Problème de crontab
Salut,
Lorsque tu lances tes scripts manuellement, peux tu nous montrer les commandes exactes que tu tapes et avec quel user tu les lances ?
Peux tu nous dire aussi comment tu édites ta crontab ("crontab -e", "sudo crontab -e" ou directement dans un fichier) ?
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 30/09/2014, à 10:38
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Salut Postmortem, merci pour ta réponse.Non , je ne lance pas mes scripts avec les commandes linux car je ne sais pas comment!!!??mais plutôt avec le navigateur , c-à-d http://127.0.0.1/mon_script.php.
Quand j'édite ma crontab , j'utilise la commande :
nano /etc/crontab
.
Le problème est que mon cron fonctionnait le plus normalement du monde avant hier.
Dernière modification par ing_tiziouzou2014 (Le 30/09/2014, à 10:41)
Hors ligne
#4 Le 30/09/2014, à 11:23
- jplemoine
Re : [RÉSOLU]Problème de crontab
Je pense que mon cron n'est pas en bon état car quand je tape aussi :
sudo cron
La réponse est que cron est déjà lancé...
Fait un
ps aux | grep cron | grep -v grep
s'il y a une ligne, c'est que le cron tourne.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#5 Le 30/09/2014, à 11:36
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Bonjour jplemoine, je te remercie , voici le résultat de la commande :
root 3209 0.0 0.0 2620 928 ? Ss 09:52 0:00 cron
mon cron tourne donc, mais le script de suppression des enregistrements d'une table ne s'est pas lancé car je ne vois aucun changement sur ma base de données.
Dernière modification par ing_tiziouzou2014 (Le 30/09/2014, à 11:36)
Hors ligne
#6 Le 30/09/2014, à 12:13
- jplemoine
Re : [RÉSOLU]Problème de crontab
c'est qu'il y a un problème dans le script qui est exécuté :
il faut que tu rediriges la sortie vers un fichier log
"programme" > /var/log/fichier.log 2>&1
/var/log/fichier.log : redirection des messages "normaux"
2>&1 : redirection des erreurs
tu peux aussi renvoyer les erreurs vers un fichier spécifique : 2> /var/log/fichier.err
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#7 Le 30/09/2014, à 13:16
- Postmortem
Re : [RÉSOLU]Problème de crontab
Lorsque tu lances ton script depuis le navigateur, quel user est utilisé ?
Comme tu le fais dans cron, c'est root qui lance le script.
De plus, certainement que lorsque tu lances ton script depuis ton navigateur, un certain nombre de variables doivent être utilisées, genre le nom de la base. Chose que cron ne connaît pas.
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#8 Le 30/09/2014, à 14:01
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Merci infiniment à vos deux pour votre aide.
Non, le script n'est pas erroné, j'ai essayé même avec des scripts moins compliqués, mais rien ne se passe! c'est ce que je ne comprends pas est le fait qu'au dépard, tout fonctionnait à merveille! ça pourait peut être avoir un rapport avec php.ini ou quelque chose comme ça , car je ne le trouve pas dans /etc/apache2 et puis quand j'essaye d'installer php -cli avec la commande :
apt-get install php -cli
il m'affiche le message
E: Ouverture du fichier de configuration li - ifstream::ifstream (2: Aucun fichier ou dossier de ce type)
Je sais que je mélange les choses!!!! mais Franchement je ne sais plus quoi faire, le malheur que c'est très urgent!!!
Dernière modification par ing_tiziouzou2014 (Le 30/09/2014, à 14:04)
Hors ligne
#9 Le 30/09/2014, à 14:01
- tiramiseb
Re : [RÉSOLU]Problème de crontab
Salut,
Houla, plein de trucs dans tous les sens, mais il n'y a pas les deux trucs évidents que je peux sortir en lisant ton premier message :
1/ cron
quand je tape aussi :
sudo cron
J'obtiens le message :
cron: can't lock /var/run/crond.pid, otherpid may be 3209: Resource temporarily unavailable
Bah non, c'est normal, cron tourne déjà, tu ne peux pas le lancer une deuxième fois. C'est toi-même qui l'a (re)lancé juste avant.
Enfin, jplemoine l'a aussi dit en #4, mais pas de la même manière
2/ tes jobs
La majorité de tes jobs sont commentés, donc c'est normal qu'ils ne fonctionnent pas.
Le seul qui n'est pas commenté pointe vers /var/html alors qu'il s'agit probablement de /var/www/html...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 30/09/2014, à 14:02
- bruno
Re : [RÉSOLU]Problème de crontab
Déjà il faut essayer de lancer ton script manuellement en ligne de commande :
sudo php /var/www/html/mon_script.php
si cela marche, il faut écrire ceci dans le crontab :
22 09 * * * root /usr/bin/php /var/www/html/mon_script.php
Dernière modification par bruno (Le 30/09/2014, à 14:13)
En ligne
#11 Le 30/09/2014, à 14:03
- tiramiseb
Re : [RÉSOLU]Problème de crontab
bruno : toi aussi, tu n'as pas vu que d'un côté il a "/var/www/html/" et de l'autre "/var/html/" ; tu as même copié-collé son erreur dans ton message !
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#12 Le 30/09/2014, à 14:13
- bruno
Re : [RÉSOLU]Problème de crontab
Arf… Effectivement, cela m'apprendra à lire en diagonale (j'ai corrigé)
Et pour installer PHP pour la ligne de commande c'est :
sudo apt-get install php-cli
En ligne
#13 Le 30/09/2014, à 14:20
- jplemoine
Re : [RÉSOLU]Problème de crontab
En 14.04, je pense que c'est php5-cli. Je ne vois pas de paquet php-ci.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#14 Le 30/09/2014, à 14:26
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Merci tiramiseb , les commentaires c'est moi qui les a faits car j'ai besoin de tester uniquement un seul script, aussi,le problème ne réside pas dans l'erreur car je l'ai corrigée après et puis lorsque je change l'heure de l'exécution de mon script à deux minutes de plus de l'heure actuelle (exemple: 14h22 chez-nous , heure d'exécution 14h24), rien ne se passe .
Dernière modification par ing_tiziouzou2014 (Le 30/09/2014, à 14:39)
Hors ligne
#15 Le 30/09/2014, à 14:46
- tiramiseb
Re : [RÉSOLU]Problème de crontab
Ok.
Mon premier conseil serait de tester avec un script PHP ultra simplifié (genre juste une écriture dans un fichier) histoire de réduire le champ de recherche.
Voire même de commencer par faire appel à une simple commande dans ton crontab : si la commande fonctionne avec une config de crontab, il suffit alors de se diriger progressivement vers ton script PHP /
1/ test avec une commande shell
2/ lancement d'un script PHP ultra simplifié
3/ lancement d'un script un peu plus complexe
4/ etc
Regarde aussi si dans les e-mails envoyés par cron il n'y a pas une erreur PHP retournée.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#16 Le 30/09/2014, à 14:50
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Merci beaucoup pour ta réponse rapide! j'essayerai de suivre tes conseils, je te tiendrai au courant dès que j’aurai de nouveau.
Hors ligne
#17 Le 30/09/2014, à 14:51
- jplemoine
Re : [RÉSOLU]Problème de crontab
et mon post #6 qui consistent à rediriger la sortie vers un fichier de log : c'est une bêtise ou pas ?
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#18 Le 30/09/2014, à 14:52
- tiramiseb
Re : [RÉSOLU]Problème de crontab
et mon post #6 qui consistent à rediriger la sortie vers un fichier de log : c'est une bêtise ou pas ?
On peut faire ça ou on peut regarder les mails que cron envoie...
Il suffit de configurer la variable MAILTO en tête de fichier, si j'ai bonne souvenance.
Dernière modification par tiramiseb (Le 30/09/2014, à 14:52)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#19 Le 30/09/2014, à 14:56
- jplemoine
Re : [RÉSOLU]Problème de crontab
Je vais peut-être dire une bêtise mais pour que le mail soit envoyé, il faut un serveur smtp configuré ?
Dans le cas où il ne serait pas installé ou mal configuré, je pense que ça ne fonctionne pas.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#20 Le 30/09/2014, à 14:57
- tiramiseb
Re : [RÉSOLU]Problème de crontab
Je vais peut-être dire une bêtise mais pour que le mail soit envoyé, il faut un serveur smtp configuré ?
Au pire ce sera un mail local, lisible avec la commande "mail" (MAILTO=root, je crois que c'est le paramètre par défaut).
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#21 Le 30/09/2014, à 15:06
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Toujours rien ne se passe , c'est bizarre n'est-ce-pas?
Je suis complètement découragé.
Hors ligne
#22 Le 30/09/2014, à 15:09
- tiramiseb
Re : [RÉSOLU]Problème de crontab
Toujours rien ne se passe , c'est bizarre n'est-ce-pas?
Euh tu ne dis pas du tout ce que tu as fait ! Comment veux-tu qu'on te dise si c'est bizarre ? On n'est pas dans ton PC !
Montre la ligne que tu as mise en place, déjà... Et indique le résultat attendu et le résultat obtenu...
-----
Par ailleurs, peux-tu confirmer que tu édites bien /etc/crontab ? Car l'en-tête que tu montres est normalement pour les crontabs utilisateurs (commande crontab -e)...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#23 Le 30/09/2014, à 15:58
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Voici la ligne :
15 15 * * * * root php /var/www/html/create1.php et voici le tout simple script :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
date_default_timezone_set('Africa/Algiers') ;
set_time_limit(0);
$debut= date('H:i:s');
include ('connection.php');
$db=mysql_select_db("script");
///////////////////////////
for($cr=1;($cr<=4);$cr++)
{
$sql="CREATE TABLE test$cr (ENPR int(5),ANNEXE char(2))";
$res1=mysql_query($sql);
if ($res1==FALSE)
echo mysql_error();
}
mysql_close();
?>
</body>
</html>
J'édite mon fichier /etc/crontab par la commande:
nano /etc/crontab
Hors ligne
#24 Le 30/09/2014, à 16:01
- tiramiseb
Re : [RÉSOLU]Problème de crontab
Déjà, tu as mis une étoile en trop dans ton cronjob : les champs de définition d'heure de déclenchement, il n'y en a que 5.
Ensuite, tu appelles ça tout simple !?
Commence par ça :
15 15 * * * root date > /tmp/test
Pour la manière d'éditer ton cron, on est bien d'accord, c'est la bonne méthode.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#25 Le 01/10/2014, à 08:54
- ing_tiziouzou2014
Re : [RÉSOLU]Problème de crontab
Bonjour tiramiseb, Oui, c'est "honteux" de faire ce genre d'erreurs !!!!!!!!!!!.
Mes scripts aussi posaient des problèmes car le fichier php.ini était modifié , alors j'ai opté pour remplacer l'ancienne version par la version la plus récente .
Merci beaucoup pour votre patience.
Dernière modification par ing_tiziouzou2014 (Le 01/10/2014, à 09:04)
Hors ligne