Cron et PHP5

Bonjour,

Depuis que j’ai mis à jour mon serveur (une squeeze à jour donc) avec les mises à jours de PHP5 j’ai une tache cron qui plante (à priori pas tout le temps vu qu’elle tourne toutes les 30 mins):

[quote][ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete (failed)
Segmentation fault
find: Paramètre non valide « -delete » pour « -cmin »
[/quote]

J’ai l’impression que ça fait planter cron (càd qu’il ne tournerait plus du tout ensuite).

Bonne journée :slightly_smiling:

héhé

si /usr/lib/php5/maxlifetime existe et est exécutable ET le dossier /var/lib/php5 existe

fait :

cherche et supprime, dans le dossier /var/lib/php5, un fichier qui : File’s status was last changed n*24 hours ago (ou n = le résultat de $(/usr/lib/php5/maxlifetime)) , ce fichier doit contenir (failed)

sa fait quoi si tu fais sa ?:

moi sa me donne 24

j’ai la même réponse: 24

ls -l /usr/lib/php5/maxlifetime -rwxr-xr-x 1 root root 596 10 févr. 15:31 /usr/lib/php5/maxlifetime

/var/lib/php5# ls -l total 8 -rw------- 1 www-data www-data 300 6 avril 10:25 sess_1srmt6mvqpq6j63h2r94909543 -rw------- 1 www-data www-data 384 6 avril 11:00 sess_ekssog0ujrs1905qd6488lh2t0

C’est pas super parlent comme fichier mais pas trace de “failed” dans ces fichiers.

J’ai fait la méthode inverse de bcp d’utilisateur, à savoir remplacer par la commande:

Je verrai bien à l’usage.

Sinon comment observer ce qu’il se passe dans cron ?

La tache tourne normalement toutes les 30 mins donc à priori ça fonctionne vu que là je n’ai pas reçu de mail depuis plus de 2H.

J’ai aussi mit à jour mon serveur squeeze qui était à l’abandon depuis un long moment… faut dire que c’est un vieux p2 qui sert a héberger un site web très peu fréquenté…, j’ai aussi eu une mise à jour de php5 mais je n’ai rien dans mes crontab qui ressemble à sa… peut-etre que tu as un paquet que je n’ai pas ??? CORRECTION: oups, en répondant a ton autre question plus bas, jai fini par trouver la dite ligne dans /etc/cron.d :stuck_out_tongue: Pour moi, sa fonctionne bien

si je comprend bien, ce bout de code sert a supprimer les fichier créé par le processus de php temporaires restant
moi j’en ai pas vraiment besoin puisque ce site n’est pas vraiment écrit en php…seulement le bout de code qui sert à envoyer des mails de demande d’information au propriétaire du site. donc sa doit servir…peut-etre 2 fois par année :question: :stuck_out_tongue:

le bout rajouter avec fuser fait que la commande prend la peine de vérifier si le fichier est ouvert par un process avant de le supprimer… cétait surement la cause de ton erreur… par contre, certain utilisateur disent que fuser tire du jus de cpu…

Pour ce qui est du (failed) probablement que c’était tiré de ton log et non du crontab n’est-ce pas ? CORRECTION : effectivement, puisque jai fini par trouver la dite commande sur mon squeeze.

pour surveiller les log de cron tu l’as dans /var/log/syslog

si tu veux voir plus en détail ce que fait la commande et quand, va falloir que lise le man de find, ya moyen d’imprimer lesfichiers trouver dans un fichier, sinon juste le fait de voir les fichiers sess* c’est déja convaincant.

bon courage!

Ce veut donc dire que quand cron se déroule bien il ne log rien ?

Car il est sensé exécuter cette tache toutes les 30 mn et je ne vois rien dans les logs (c’est super chiant à lire… j’ai loganalyser qui intercepte des logs de 7 controleurs de domaines donc le syslog est un peu chargé)

Merci en tout cas pour toutes ces infos :slightly_smiling: