IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Génération et édition automatques des crontab!


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2009
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2009
    Messages : 218
    Par défaut Génération et édition automatques des crontab!
    Bonjour j'ai une question sur l'utilisation des crontab.

    Je sais bien me servir de cron (éditer une crontab en ligne de commande).

    Mais en fait là je veux écrire un script qui prend un utilisateur, une commande et un cycle d'exécution en paramètres, et crée une crontab à partir de la ligne de crontab générée.
    Exactement comme on l'aurait fait avec
    crontab -e
    sous le compte de l'utilisateur concerné

    Ainsi j'aimerai comprendre le fonctionnement interne de cron au niveau du ou des fichiers de crontab, et de sa gestion des utilisateur.

    Quel est est le fichier éditer par la commande crontab? Car personnellement je n'ai l'ai jamais ouvert avec un éditeur de texte (vim ou emacs par exmple).

    Comment éditer une crontab pour un utilisateur, sans forcément se loger sur ce nom d'utilisateur et taper la commande
    crontab -e
    ?

    Quelqu'un pourrait me guider pour mon script, de manière à ce qu'il puisse (le script) éditer le bon fichier pour le bon utilisateur, si bien sûr celui-ci est bien défini comme utilisateur crontab sur le système cible?

    Un tuto proche de mon besoin serait le bien venu aussi.

    Merci par avance.

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    usage:  crontab [-u user] file
    Il faut penser à lire le man camarade
    Donc, en voyant ceci, tu peux faire "crontab -u toto_user fichier" où fichier est le fichier qui contient toutes les tâches cron actuelles de l'utilisateur.
    Ceci étant dit, fais attention au fichier, si tu veux garder les anciennes tâches cron, il faudrait que tu lances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    crontab -u toto_user -l > cron.txt
    avant de faire le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "* * * * * /ma/commande arg1 arg2 > /dev/null 2>&1" >> cron.txt
    et ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    crontab -u toto_user cron.txt
    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2009
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2009
    Messages : 218
    Par défaut
    Merci beaucoup pour ta réponse!

    J'ai vraiment été fainéant sur le coup par rapport au man.

    Et je voyais l'édition directe et effective du fichier où se trouve la liste des crontab du système. Alors cron va prendre la ou les crontabs de user_toto définies dans cron.txt, et l'ajouter à la liste des tâches planifiées sur systèmes.

    Mais question était de savoir aussi quel est le fichier que l'on édite lorsqu'on passe par la commande .

    Dans tous les cas, merci ta réponse est édifiante, je reviens si je bloque à un endroit.

    Cordialement.

  4. #4
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Tu n'a pas à savoir le fichier que cronta -e édite.
    Même si on sait pertinement, que crontab -e modifie un fichier, mais je préfère ne pas te le dire car tu n'en a pas besoin du tout.
    Si tu suis bien la procédure que je t'ai montrée, tout ira bien.
    Au passage, dans mon exemple cron.txt peut être n'importe quel fichier, ... en l'occurrence, moi j'aurais pris un fichier temporaire pour ensuite le supprimer après opération
    voilà voilà
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2009
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2009
    Messages : 218
    Par défaut
    Ouais j'ai bien compris pour le fichier texte.

    C'est vrai que le principal but n'est pas une recherche sur le fichier édité par "crontab -e", et que je peux bien passer par ta méthode pour y arriver.

    Mais j'ai juste voulu profiter de la problématique pour en savoir plus sur crontab.

    Une fois de plus merci.

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Si ton problème est résolu, n'hésites pas à cliquer sur le bouton résolu.
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération de doc contenant des exemples testés
    Par Carlito_superheros dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 28/08/2008, 11h32
  2. Réponses: 9
    Dernier message: 06/05/2008, 17h10
  3. Génération de tables à partir des classes
    Par bbo1991 dans le forum Rational
    Réponses: 6
    Dernier message: 02/03/2007, 12h10
  4. Réponses: 7
    Dernier message: 28/09/2006, 01h30
  5. Mysql - édition correcte des champs
    Par Sebe dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/10/2005, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo