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 :

[redHat6]un fichier de script exécuté périodiquement


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut [redHat6]un fichier de script exécuté périodiquement
    Bonjour,

    je voudrais faire un script shell (un batch), qui s’exécute dans une tache planifiée (cron) mais je ne sais pas comment le faire. Est-il possible de m'aider un peu ?

    merci d'avance

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    non pas avec aussi peu d'informations sur ton besoin, il n'est pas possible de t'aider.

  3. #3
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Un exemple générique ferait très bien l'affaire. (le contenu d'un fichier batch, le mettre exécutable, rendre contable, et l’exécuter en tant que cron, bref juste un exemple très simple)
    ps: j'ai peut être dit des bêtises. (j'ai juste proposé) c'est pour ça que je cherche un exemple simple.

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    prends un cron quelconque qui execute quelque chose qui n'est pas écrit par toi déjà ....

    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "truc" > /tmp/machin
    & tu colles ça dans des crontab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * * * * 1-5 echo "toto" >> /tmp/machin
    un exemple de crontab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    0       20      *       *       1-5 /usr/sbin/rdate -ncv ntp.univ-lyon1.fr
    30    22  *       *       * /usr/bin/find /home/ -type f -name "*.core" -exec /usr/bin/rm {} \;
    15,45   19,23   *       *       * /usr/bin/find /home/ -type f -name "nohup.out" -exec /usr/bin/rm {} \;
    10      23      1-7     *       0,6 /bin/rm -rf /home/francois/Downloads/*
    11      18      *       *       0,6 /usr/local/bin/mysqldump -u francois -p"*******" --all-databases -h undertaker > /home/francois/Documents/mysql.dump.$(date +\%Y\%m\%d)
    21      18      *       *       0,6 /usr/local/bin/mysqldump -u root -p"******" --all-databases -h undertaker > /home/francois/Documents/mysql.full.$(date +\%Y\%m\%d)
    30      19      *       *       0,6 /usr/bin/gzip /home/francois/Documents/mysql.[fd]u[lm][lp].$(date +\%Y\%m\%d)
    45      21      1-6     1,3,5,7,9,11    0 /usr/bin/find /home/francois/Documents/ -type f -name "mysql.*gz" -mtime +365 -exec /usr/bin/rm -f {} \; -print
    cherches les horaires débiles/inutiles de cet exemple et tu auras compris crontab

  5. #5
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Citation Envoyé par frp31 Voir le message
    si j'ai bien comprit

    sa nous permet d’écrire dans le fichier qui dans dossier "tmp" et qui s'appel "machin"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "truc" > /tmp/machin
    & tu colles ça dans des crontab

    sa ces un exemple de crontable que ta coller direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * * * * 1-5 echo "toto" >> /tmp/machin
    Un exemple de crontab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    0       20      *       *       1-5 /usr/sbin/rdate -ncv ntp.univ-lyon1.fr
    30    22  *       *       * /usr/bin/find /home/ -type f -name "*.core" -exec /usr/bin/rm {} \;
    15,45   19,23   *       *       * /usr/bin/find /home/ -type f -name "nohup.out" -exec /usr/bin/rm {} \;
    10      23      1-7     *       0,6 /bin/rm -rf /home/francois/Downloads/*
    11      18      *       *       0,6 /usr/local/bin/mysqldump -u francois -p"*******" --all-databases -h undertaker > /home/francois/Documents/mysql.dump.$(date +\%Y\%m\%d)
    21      18      *       *       0,6 /usr/local/bin/mysqldump -u root -p"******" --all-databases -h undertaker > /home/francois/Documents/mysql.full.$(date +\%Y\%m\%d)
    30      19      *       *       0,6 /usr/bin/gzip /home/francois/Documents/mysql.[fd]u[lm][lp].$(date +\%Y\%m\%d)
    45      21      1-6     1,3,5,7,9,11    0 /usr/bin/find /home/francois/Documents/ -type f -name "mysql.*gz" -mtime +365 -exec /usr/bin/rm -f {} \; -print
    cherches les horaires débiles/inutiles de cet exemple et tu auras compris crontab
    Ce que je voudrais savoir ces comment mettre mon fichier "backup_db.sh"(qui Quentin les commande que je veux exécuter) dans le crontable pour être exécuter par le cron périodiquement ?

    merci d'avance

  6. #6
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    j'ai tenté de faire ça mais ça marche pas

    la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     22 12 * * * mysqldump -hlocalhost -uroot -pTBbillel21 reporting-rh | gzip > reporting-rh_bdd_backup_09_08_2011.sql.gz

    message : bash: 22: command not found

    si quelqu'un peut me diriger ou m'aider

  7. #7
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par geforce Voir le message
    Ce que je voudrais savoir ces comment mettre mon fichier "backup_db.sh"(qui Quentin les commande que je veux exécuter) dans le crontable pour être exécuter par le cron périodiquement ?

    merci d'avance
    y'a un moment où il va falloir envisager de lire un minimum tu fais tout connement comme dans les exemples cités au dessus.

    pour le reste tu verras que c'est pour éditer (mode vi)
    donc tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 20 * * 1-5 /chemin/backup_db.sh
    par exemple

    oublies pas que crontab ne charge pas d'environnements et que "%" est un commentaire en crontab donc si tu en utilises il faut remplacer par "\%" afin que ça soit interprété...
    bien sur ton script doit fonctionner correctement unitairement avant de l'intégrer en crontab. Mais c'est si évident que je ne sais pas pourquoi je le mentionne.


    j'espère que c'est plus clair maintenant

Discussions similaires

  1. Exécution périodique de script
    Par xxkirastarothxx dans le forum Langage
    Réponses: 2
    Dernier message: 18/02/2010, 08h08
  2. Réponses: 1
    Dernier message: 17/11/2009, 08h39
  3. fichier bat d'exécution des scripts
    Par the java lover dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 29/08/2008, 14h28
  4. Réponses: 12
    Dernier message: 26/08/2008, 09h30
  5. Exécution périodique d'un script php
    Par tetepro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/04/2008, 15h54

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