OVH Cloud OVH Cloud

emacs, modification crontab

8 réponses
Avatar
Rakotomandimby
Bonjour

J'ai deja posté un probleme similaire , mais je pense que j'etais sur une
mauvaise piste .

Au debut je tentai avec Emacs de modifier la crontab de root , sans succes .
Quand je tentai avec le meme Emacs de modifier la crontab d'un user , ça
marchai .

Maintenant , je tente de modifier la crontab d'un user ( le meme
qu'avant ) , et du coup avec Emacs ça ne marche pas ...

Le souci n'est pas de savoir avec quel editeur il est bon de modifier une
crontab . Logiquement , n'importe lequel devrai convenir non ?

Je vous decrit ce que je fais et ce qui se passe .

L'user concerné : web

Systeme : Linux Slackware 9.1 ( Emacs 21.x et le cron qui va avec )

La procedure :
- su
- password de root
- export VISUAL=emacs
- crontab -e web
- il y a deja une ligne dedans , c'est celle que j'ai reussi a faire il y a
longtemps .
- je modifie cette ligne
- sauver
- fermer emacs
- crontab -l web
- et la je vois la ligne _NON_ modifiee , et evidemment la tache periodique
n'est pas effectuee .


Merci de tout aide et point de vue qui pourrai m'etre utile.
--
http://mrakotom.free.fr

8 réponses

Avatar
Geo Cherchetout
Le 22.01.2004 20:16, Rakotomandimby a écrit fort à propos :

- je modifie cette ligne
- sauver
- fermer emacs
- crontab -l web


Le manuel de ma Mandrake indique :
crontab -u web -l
Sait-on jamais...

Avatar
didier Belot
Le Thu, 22 Jan 2004 20:16:50 +0100, Rakotomandimby a écrit :

Bonjour

J'ai deja posté un probleme similaire , mais je pense que j'etais sur une
mauvaise piste .

Au debut je tentai avec Emacs de modifier la crontab de root , sans succes .
Quand je tentai avec le meme Emacs de modifier la crontab d'un user , ça
marchai .

Maintenant , je tente de modifier la crontab d'un user ( le meme
qu'avant ) , et du coup avec Emacs ça ne marche pas ...

Le souci n'est pas de savoir avec quel editeur il est bon de modifier une
crontab . Logiquement , n'importe lequel devrai convenir non ?


Pas exactement.Celui qui convient est celui qui modifie le fichier qu'on
lui donne en paramètre, pas celui qui commence par le renommer en
fichier~ puis qui créé un nouveau fichier lorsqu'on enregistre...

Corrigez-moi si je me trompe, mais crontab ne vérifie pas la date de
modification du fichier nommé xxx qu'il a passé en paramètre, mais
l'inode du-dit fichier, date de modif qui ne bouge pas quand on ne fait
que renommer le fichier !? (à vérifier)

fait un ls -li /tmp/fichierxxx avant de modifier ton fichier, puis après...

J'ai eu le même souci avec vim. Je modifie ma crontab avec nano, qui fait
ça bien ;-)

[...]
Merci de tout aide et point de vue qui pourrai m'etre utile.


de rien.

Avatar
Pascal Bourguignon
Bonjour

J'ai deja posté un probleme
Rakotomandimby writes:

similaire , mais je pense que j'etais sur une
mauvaise piste .

Au debut je tentai avec Emacs de modifier la crontab de root , sans succes .
Quand je tentai avec le meme Emacs de modifier la crontab d'un user , ça
marchai .

Maintenant , je tente de modifier la crontab d'un user ( le meme
qu'avant ) , et du coup avec Emacs ça ne marche pas ...

Le souci n'est pas de savoir avec quel editeur il est bon de modifier une
crontab . Logiquement , n'importe lequel devrai convenir non ?

Je vous decrit ce que je fais et ce qui se passe .

L'user concerné : web

Systeme : Linux Slackware 9.1 ( Emacs 21.x et le cron qui va avec )

La procedure :
- su
- password de root
- export VISUAL=emacs
- crontab -e web
- il y a deja une ligne dedans , c'est celle que j'ai reussi a faire il y a
longtemps .
- je modifie cette ligne
- sauver
- fermer emacs
- crontab -l web
- et la je vois la ligne _NON_ modifiee , et evidemment la tache periodique
n'est pas effectuee .


Effectivement:
crontab: no changes made to crontab
même avec emacsclient.

Je parie que crontab essaye de relire exactement le même fichier (même
inode), mais emacs, quand il enregistre un fichier, il en écrit un
nouveau et remplace l'original à la fin.

Avant C-x C-s:
[ tmp]$ ls -li /tmp/crontab.30541
230671 -rw------- 1 pascal regular 1903 2004-01-23 00:52 /tmp/crontab.30541

Après C-x C-s:

[ tmp]$ ls -li /tmp/crontab.30541
257924 -rw------- 1 pascal regular 2009 2004-01-23 00:53 /tmp/crontab.30541


Merci de tout aide et point de vue qui pourrai m'etre utile.
--
http://mrakotom.free.fr


Malheureusement, je n'arrive pas à empêcher emacs de créer un nouveau fichier avec C-x C-s, malgrès:

(setq make-backup-files nil
backup-by-copying t)


Personnellement, je n'ai jamais eu le problème car je fais;

crontab -l > ~/.crontab
emacsclient ~/.crontab
crontab ~/.crontab

ce qui donnerait:

crontab -l -u $user > ~$user/.crontab
emacsclient ~$user/.crontab
crontab -u $user ~$user/.crontab



--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/

Avatar
Rakotomandimby
Pascal Bourguignon wrote:

crontab    -u $user   ~$user/.crontab


ceci ne passe pas . la syntaxe est incorrecte , mais je n'aipas plus
d'erreurs
--
http://mrakotom.free.fr

Avatar
Pascal Bourguignon
Rakotomandimby writes:

Pascal Bourguignon wrote:

crontab    -u $user   ~$user/.crontab


ceci ne passe pas . la syntaxe est incorrecte , mais je n'aipas plus
d'erreurs


Qu'utilises tu comme crontab?


------------------------------------------------------------------------
CRONTAB(1) CRONTAB(1)



NAME
crontab - maintain crontab files for individual users (V3)

SYNOPSIS
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

DESCRIPTION
...
AUTHOR
Paul Vixie



29 December 1993 CRONTAB(1)
------------------------------------------------------------------------

--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/


Avatar
Rakotomandimby
Pascal Bourguignon wrote:
Qu'utilises tu comme crontab?


Matthew Dillon ()
1 May 1994 CRONTAB(1)

on les trouve ou les cron ? si je fais une recherche sur google , j'ai
plutot des resultats de plaintes issus d'archives de ML ...
--
http://mrakotom.free.fr

Avatar
Pascal Bourguignon
Rakotomandimby writes:

Pascal Bourguignon wrote:
Qu'utilises tu comme crontab?


Matthew Dillon ()
1 May 1994 CRONTAB(1)

on les trouve ou les cron ? si je fais une recherche sur google , j'ai
plutot des resultats de plaintes issus d'archives de ML ...


http://rpmfind.net/linux/RPM/netwinder/netwinder/SRPMS/dm/3.1-15/vixie-cron-3.0.1-39.src.html

--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/


Avatar
David LE BOURGEOIS

Bonjour

J'ai deja posté un probleme similaire , mais je pense que j'etais sur une
mauvaise piste .

Au debut je tentai avec Emacs de modifier la crontab de root , sans succes .
Quand je tentai avec le meme Emacs de modifier la crontab d'un user , ça
marchai .

Maintenant , je tente de modifier la crontab d'un user ( le meme
qu'avant ) , et du coup avec Emacs ça ne marche pas ...

Le souci n'est pas de savoir avec quel editeur il est bon de modifier une
crontab . Logiquement , n'importe lequel devrai convenir non ?

Je vous decrit ce que je fais et ce qui se passe .

L'user concerné : web

Systeme : Linux Slackware 9.1 ( Emacs 21.x et le cron qui va avec )

La procedure :
- su
- password de root
- export VISUAL=emacs
- crontab -e web


Chez moi, RedHat 8.0 et Mandrake 7.0, 7.2 et 8.0, crontab -e user ne
fonctionne pas :

~ $ crontab -e david
crontab: usage error: no arguments permitted after this option
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)

Sur une machine ou j'ai Emacs, mais pas de mode graphique, ça fonctionne
correctement :

~ # EDITOR=emacs-nox crontab -u root -e
[...]
crontab: installing new crontab


- il y a deja une ligne dedans , c'est celle que j'ai reussi a faire il y a
longtemps .
- je modifie cette ligne
- sauver
- fermer emacs


crontab -e renvoie généralement un message sur l'action effectuée.
Quel était-il, lors de la sortie d'Emacs ?
Par exemple sous Aix, si une erreur de syntaxe est détectée, la
modification n'est pas prise en compte, et un message d'erreur est généré.

- crontab -l web
- et la je vois la ligne _NON_ modifiee , et evidemment la tache periodique
n'est pas effectuee .


Merci de tout aide et point de vue qui pourrai m'etre utile.



--
David LE BOURGEOIS