YunoHost-Apps / lutim_ynh

Lutim package for YunoHost
https://lut.im
GNU General Public License v3.0
5 stars 7 forks source link

Cron #9

Closed adrien80080 closed 9 years ago

adrien80080 commented 9 years ago

Hello, je n'arrête pas de recevoir des mails de Cron, 1 par heure. Voici le contenu : /etc/cron.hourly/lutim_cleanbdd: Can't exec "script/lutim": Permission non accordée at /usr/local/share/perl/5.14.2/Carton/CLI.pm line 391.

maniackcrudelis commented 9 years ago

Salut

1 par heure, ça me semble beaucoup, le cron devrait s'exécuter 1 fois par jour. Toutefois, vérifie les droits d'exécution sur le fichier CLI.pm

Je vais jeter un coup d'oeil de mon côté.

adrien80080 commented 9 years ago

voici les droits du fichier CLI.pm -r--r--r-- 1 root staff 10451 mai 9 01:21 CLI.pm

maniackcrudelis commented 9 years ago

Ok, moi aussi.

Place toi dans le dossier de Lutim et exécute cette commande: sudo -u www-data /usr/local/bin/carton exec script/lutim cron cleanbdd J'avais pas vu que tu avais mis le cron dans hourly.

adrien80080 commented 9 years ago

je n'ai rien fait du tout, je sais même pas utiliser Cron ^^ le dossier de lutim est /var/www/lutim ?

maniackcrudelis commented 9 years ago

Oui c'est bien ça.

Le script d'install ne met rien du tout dans cron.hourly! Tu peux m'afficher le contenu de /etc/cron.hourly/lutim_cleanbdd et de /etc/cron.d/lutim

adrien80080 commented 9 years ago

[a2i-web] root /var/www/lutim # sudo -u www-data /usr/local/bin/carton exec script/lutim cron cleanbdd Can't exec "script/lutim": Permission non accordée at /usr/local/share/perl/5.14.2/Carton/CLI.pm line 391.

[a2i-web] root /var/www/lutim # cat /etc/cron.hourly/lutim_cleanbdd

! /bin/bash

Delete IP adresses from database if expired

cd /var/www/lutim/ && carton exec script/lutim cron cleanbdd

[a2i-web] root /var/www/lutim # cat /etc/cron.d/lutim

Génération des statistiques. Tous les jours, à 5h.

0 5 * * * www-data carton exec script/lutim cron stats && carton exec hypnotoad /var/www/lutim//script/lutim

0 5 * * * www-data cd "/var/www/lutim/" && /usr/local/bin/carton exec script/lutim cron stats

Suppression des adresses IP obsolètes. Tous les jours, à 6h.

0 6 * * * www-data cd "/var/www/lutim/" && /usr/local/bin/carton exec script/lutim cron cleanbdd

Suppression des images dont le délai a expiré. Tous les jours, à 6h.

0 6 * * * www-data cd "/var/www/lutim/" && /usr/local/bin/carton exec script/lutim cron cleanfiles

Vérification de l'occupation du dossier des images. Tous les jours, à 7h.

0 7 * * * www-data cd "/var/www/lutim/" && /usr/local/bin/carton exec script/lutim cron watch

maniackcrudelis commented 9 years ago

Le cron hourly n'a rien à faire là. Tu peux le supprimer (ainsi que les éventuels autres cron hourly liés à Lutim)

Par contre, je n'explique pas ce problème de droits. Vérifie les droits de Lutim. Et du script en particulier. Donc sur le dossier racine de lutim et sur le dossier script.

maniackcrudelis commented 9 years ago

Et même si ça me semble superflu, vérifie aussi les droits du fichier /usr/local/bin/carton

adrien80080 commented 9 years ago

donc je vérifie les droits de /var/www/lutim ; /var/www/lutim/script ; /usr/local/bin/carton je supprime tous les fichiers cron.hourly liés à lutim

drwxr-xr-x 12 www-data www-data 1024 mai 14 01:25 lutim/ drwxr-xr-x 2 www-data www-data 1024 mai 14 01:22 script/ -r-xr-xr-x 1 root staff 455 avril 29 03:16 carton*

[a2i-web] root /etc/cron.hourly # ls fake-hwclock* lutim_cleanbdd* lutim_delete* lutim_stats*

[a2i-web] root /etc/cron.daily # ls apt* bsdmainutils* dpkg* man-db* ntp* passwd* spamassassin*

maniackcrudelis commented 9 years ago

As-tu essayé d'installer lutim manuellement avant d'utiliser ce package?

adrien80080 commented 9 years ago

non, jamais, je ne connaissais pas avant de decouvrir Yunohost j'installe uniquement les apps dans apps_fr et apps_in_progress_en

maniackcrudelis commented 9 years ago

Bon ok... C'est très étrange ça. Ma machine virtuelle est occupée, donc je ne peux pas faire un test d'installation ce soir.

Mais je pense que le mieux à faire est de désinstaller lutim et le paquet carton avec un purge et de réinstaller le package lutim.

adrien80080 commented 9 years ago

yunohost app remove lutim && apt-get remove carton && apt-get purge carton && yunohost app install https://github.com/maniackcrudelis/lutim_ynh

maniackcrudelis commented 9 years ago

Ba si tu fait un remove de carton avant le purge, je suis pas sûr que le purge passe!

adrien80080 commented 9 years ago

donc yunohost app remove lutim && apt-get purge carton && apt-get remove carton && yunohost app install https://github.com/maniackcrudelis/lutim_ynh ?

maniackcrudelis commented 9 years ago

Euh oui. Juste un purge de carton ça suffit. Remove fait juste un peu moins que purge.

adrien80080 commented 9 years ago

ah ok, je croyais que purge effaçait juste la conf sans effacer ^^

maniackcrudelis commented 9 years ago

Non purge fait un remove ET enlève les fichiers de conf. C'est plus propre que remove en somme

adrien80080 commented 9 years ago

C'est bon à savoir ça pour la suite ^^ le probleme c'est pour mes images deja envoyées

maniackcrudelis commented 9 years ago

Oui c'est pratique pour supprimer définitivement des paquets plus utiles, ça évite de laisser des résidus

adrien80080 commented 9 years ago

mais pour mes images déjà envoyées ainsi que leur lien de partage, je vais tout perdre ?

adrien80080 commented 9 years ago

Voilà le log de l'install : https://abhd.tk/zerobin/?8d282c9f16ff4825#VdUiFT7K1+8aB2P/wSOFC+M7yY9Vv4bg0QtNQSRqS8k=

[a2i-web] root /etc/cron.hourly # ls fake-hwclock* lutim_cleanbdd* lutim_delete* lutim_stats [a2i-web] root /etc/cron.hourly # cd ../cron.daily/ [a2i-web] root /etc/cron.daily # ls apt* bsdmainutils* dpkg* man-db* ntp* passwd* spamassassin

le cron est toujours dans hourly après l'install

maniackcrudelis commented 9 years ago

Et sur un ls -l, tu vois que le fichier date de l'installation? Dans le log, il n'y a aucune trace de ces crons dans hourly. Je ne sais pas d'où ils sortent!

Pour ma part, la machine virtuelle refuse l'installation pour le moment. Je réessayerais... J'aurais peut-être une piste quand ma machine virtuelle arrêtera ses caprices.

maniackcrudelis commented 9 years ago

J'ai effectuer l'installation via le package. Je n'ai rien dans les crons hourly! Tu peux déjà purger ce dossier des cron lutim, ils n'ont rien à y faire.

Ensuite, l'erreur d'accès semble provenir du script script/lutim lui même auquel il manque les droits d'exécution. C'est une erreur qu'on a pas rencontré avant, et qui vient de se produire également sur ma virtualbox.

Un simple sudo chmod +x sur le script devrait corriger ça.

adrien80080 commented 9 years ago

Les crons de Lutim présents dans /etc/cron.hourly datent bien de ma toute dernière installation (#9). j'ai effectué un chmod +x sur /usr/local/share/perl/5.14.2/Carton/CLI.pm J'ai déplacé les crons de Lutim dans cron.daily.

maniackcrudelis commented 9 years ago

Non en fait, il faut faire un chmod +x sur /var/www/lutim/script/lutim Supprimer les crons lutim dans hourly et laisser le cron lutim dans cron.d qui est le seul qui devrait être créé par le package.

adrien80080 commented 9 years ago

j'ai bien un fichier "lutim" dans /etc/cron.d j'ai donc fait : cd /etc/cron.daily && rm lutim_* j'ai aussi fait cd /var/www/lutim/script/ && chmod +x lutim

maniackcrudelis commented 9 years ago

ok, donc tu ne dois plus avoir de cron relatif à lutim dans hourly et daily. Et un unique cron lutim dans cron.d Ça devrait mieux tourner à présent.

adrien80080 commented 9 years ago

[a2i-web] root ~ # ls /etc/cron* /etc/crontab

/etc/cron.d: amavisd-new lutim_watch yunohost-applist-yunohost yunohost-openvpn lutim php5 yunohost-firewall

/etc/cron.daily: apt* bsdmainutils* dpkg* man-db* ntp* passwd* spamassassin*

/etc/cron.hourly: fake-hwclock*

/etc/cron.monthly:

/etc/cron.weekly: man-db*

on verra dans une heure ou demain si y'a toujours l'erreur ^^

maniackcrudelis commented 9 years ago

Mais d'où il sort ce lutim_watch dans cron.d!? Tu peux le supprimer aussi celui-là.

Je comprend pas, j'ai réépluché le package, je ne trouve pas la moindre référence à ces crons.

adrien80080 commented 9 years ago

je ne sais pas du tout, et je ne les ai pas ajouté moi-même dans la mesure ou je ne maîtrise pas cron et ses commandes :/

maniackcrudelis commented 9 years ago

Ce sont les cron du package de Matlink. Mais je ne retrouve pas leur trace dans le package final. Je ne les avait pas repris lors du merge des script d'install.

Quoi qu'il en soit, tu ne devrais plus avoir de problèmes.