Problem avec system("rake

Bonjour je veux remettre à zéro mes log à partir de mon application,
j’ai donc une méthod clear_log que j’appelle et qui contient le code
suivant

prod_logs_cleared = system(“rake log:clear RAILS_ENV=production”)

development

if prod_logs_cleared
  msg += "Les logs de production ont été vidés"
else
  msg += "Les logs de production n'ont pas été vidés"
end

Cela marche bien sur mon environnement de développement (avec
RAILS_ENV=development) mais pas sur la production et je ne vois rien
dans les logs qui indique un problème.

Avez vous une idée?

Merci
Nicolas

Un problème de droit? Si oui comment j’indique mes info de connection?

Tranquiliste wrote:

Un problème de droit? Si oui comment j’indique mes info de connection?

Personnelement j’utiliserais un bon logrotate :slight_smile:


Cyril M.

Personnelement j’utiliserais un bon logrotate :slight_smile:

Comment ça marche?

Sinon mon problème a l’air de venir du fait que en prod, quand la
commande est exécutée je ne suis pas au bon niveau dans mon
arborescence de répertoire. Il faut que je creuse un peu.

Nicolas

Tranquiliste wrote:

Personnelement j’utiliserais un bon logrotate :slight_smile:

Comment ça marche?

C’est une application qui permet d’archiver les anciens log. Du coup ca
met le fichier de log à vide.

http://www.delafond.org/traducmanfr/man/man8/logrotate.8.html

Salut,

si tu n’es pas au bon endroit, je te propose de remplacer ta commande
par celle-ci :

prod_logs_cleared = system(“cd #{RAILS_ROOT} ; rake log:clear
RAILS_ENV=production”)

(absolument pas testé chez moi)

mais je pense qu’il y a plus propre, comme chargé les tâches rake et
les exécuter depuis le source Ruby sans passer par system().

Le 20 oct. 08 à 23:34, Tranquiliste a écrit :

arborescence de répertoire. Il faut que je creuse un peu.

Nicolas

Guillaume “Zifro” DESRAT
Président de l’association Ruby France
http://www.rubyfrance.org/