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

Shell et commandes GNU Discussion :

Créer Crontab tout simple


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2016
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Créer Crontab tout simple
    Bonjour à tous,

    je préfère prévenir tout de suite, je ne suis que débutant sur Linux (je suis axé sur la programmation web), et l'on m'a confié une tâche qu'il m'est compliqué de réaliser (je n'ai pas envie de faire une mauvaise manip sur le serveur).

    Voici le problème que j'ai rencontré :

    Cela concerne la partie Crontab. Je souhaiterais créer un crontab tout simple, qui irait exécuter un fichier PHP présent sur le serveur. Après moultes recherches, j'ai tenté de modifier le crontab (avec la commande crontab -e).
    Problème étant qu'il y a déjà des tâches cron qui tournent sur le serveur, donc je ne voudrais pas qu'un défaut d'édition supprime tout.

    Tous les tutos que j'ai trouvé sur le net expliquent comment créer une tâche Cron à partir d'un fichier vide. Pour ma part, quand je tape crontab -e, j'ai bien entendu la liste des tâches qui s'affichent, mais je ne peux écrire qu'à un seul endroit. Faisons plus simple je vous montre ce que j'ai dans le fichier cron :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    @reboot cd /etc/rc.d/init.d ; ./httpd start ; ./postgresql start
    [SEULE LIGNE OU IL M'EST POSSIBLE D'ECRIRE]
    # Commentaire1
    #
    */4 * * * * if [ `ps ax|grep httpd|grep -v grep|wc -l` -lt 1 ]; then cd /etc/rc.d/init.d ; ./httpd restart; fi
     
    # Commentaire2
    #
    */4 * * * * if [ `ps ax|grep postmaster|grep -v grep|wc -l` -lt 1 ]; then cd /etc/rc.d/init.d ; ./postgresql start; fi
     
    # Commentaire3
    #
    20 3 * * 0 /usr/sbin/logrotate /etc/logrotate.conf
     
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Type  :quit<Enter>  to exit Vim
    Où est-ce qu'il faut que j'insère le code pour créer la tâche cron et comment ?

    En vous remerciant par avance !

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    C'est sale.

    Tu devrais appeler un script qui fait tout ça, plutôt que de coder dans ta cron.
    Les chemins relatifs sont à éviter et l'utilisation de cd à proscrire.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Gaultier1337 Voir le message
    Cela concerne la partie Crontab. Je souhaiterais créer un crontab tout simple, qui irait exécuter un fichier PHP présent sur le serveur.
    Bonjour
    Déjà ici il y a emploi de termes inadaptés. Un crontab n'exécute rien. Il indique juste au cron quoi lancer et à quel moment le lancer...

    Citation Envoyé par Gaultier1337 Voir le message
    Problème étant qu'il y a déjà des tâches cron qui tournent sur le serveur, donc je ne voudrais pas qu'un défaut d'édition supprime tout.
    Ah ben évidemment il te faut éviter de supprimer les lignes qui ne concernent pas ton truc. Mais déjà la base de tout admin qui se respecte est de ne jamais bosser en tant que root. Un bon admin bosse sous son propre nom (comme ça il ne peut rien casser) et quand son travail est fait et testé, alors éventuellement il devient root pour le mettre en prod.

    Citation Envoyé par Gaultier1337 Voir le message
    mais je ne peux écrire qu'à un seul endroit.
    Convention de ta boite ? Parce que sinon tu peux écrire où tu veux dans ton crontab.
    Sinon mêmes remarques que ggnore. Un "cd" se justifie très rarement dans un script et il vaut mieux écrire un script devant gérer ton action puis programmer le lancement de ce script dans le crontab plutôt que de "scripter" en direct dans le crontab.
    Autre remarque perso: chaque service possède une option "status" qui te permet de le tester. Autant utiliser cette possibilité plutôt que de chercher le service dans le ps... => /etc/init.d/httpd status 1>/dev/null || /etc/init.d/httpd start...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Toutes versions] Comment créer un graphique tout simple comme dans Excel
    Par damsmut dans le forum IHM
    Réponses: 15
    Dernier message: 29/08/2017, 22h58
  2. [WM18] Créer Appli toute simple ?
    Par Ophemara dans le forum Windev Mobile
    Réponses: 5
    Dernier message: 04/02/2014, 09h19
  3. Créer un graphique tout simple en Perl
    Par norachaouia dans le forum Modules
    Réponses: 6
    Dernier message: 01/10/2010, 09h02
  4. [POSTFIX] crer un relais smtp tout simple
    Par marveljojo75 dans le forum Réseau
    Réponses: 1
    Dernier message: 17/02/2009, 16h01
  5. [CR 2008] [Débutant] Créer un tableau tout simple
    Par mikl_apo dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 04/03/2008, 10h23

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