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 :

Shell qui ne s'exécute pas dans mon cron


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut Shell qui ne s'exécute pas dans mon cron
    Bonjour,

    Voilà, j'ai un serveur dédié sous ovh sous centos 5.2

    Dans le crontab je lui rajoute:

    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
    24
    25
    26
    27
     
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
     
    DATE=$(date +%d-%m-%Y-%H-%M)
     
     
     
    57 10 * * * root tar -czvf /var/www/vhosts/portailinterim.com/httpdocs/piSources`date | awk '{printf $1$2$3}'`.tar.gz /var/www/vhosts/portailinterim.com/httpdocs/*  # marche
     
    22 12 * * * root tar -czvf /var/www/vhosts/portailinterim.com/httpdocs/piSources`date | awk '{print daynum($1, $2, $3)}'`.tar.gz /var/www/vhosts/portailinterim.com/httpdocs/*  # ne marche
     
     
    00 13 * * * root run-parts /etc/archivePi.sh  # ne marche
    05 13 * * * root /etc/archivePi.sh  # ne marche
    10 13 * * * root archivePi.sh  # ne marche
     
     
    28 11 * * * root tar -czvf /var/www/vhosts/vhosts/portailinterim.com/httpdocs/piSources`date +%d%m%y`.tar.gz /var/www/vhosts/portailinterim.com/httpdocs/*   # marche
     
     
     
    22 4 * * 0 root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
    */1 * * * * root /usr/local/rtm/bin/rtm 7 > /dev/null 2> /dev/null
    J'aimerais qu'il m'exécute le fichier archivePi.sh mais rien n'y fait ça ne marche pas

    Voici ce que j'ai archivePi.sh:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    # Script de sauvegarde des données située sur un serveur OVH
     
    # Compression des données
    cd  /var/www/vhosts/site.com/httpdocs
     
    tar -czvf /var/www/vhosts/site.com/httpdocs/piSources1.tar.gz /var/www/vhosts/site.com/httpdocs/*
    Je ne vois pas du tout où ça coince... merci d'avance pour votre aide!

  2. #2
    Expert éminent sénior 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 : 47
    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
    Points : 12 262
    Points
    12 262
    Par défaut
    protege les "%" avec les backslash

    les environnements sont peut etre incomplets dans cron hors tu appeles des fonctions spécifiques comme les `` ou $() etc.... qui peuvent ne pas correspondre au shell utilisé par cron.

    en plus tu melange cron et les lancements daily weekly ....

    c'est pas propre.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Comment connaître ma version de shell?


    en plus tu melange cron et les lancements daily weekly ....
    Ou est-ce qu'il faudrait que je le mette?

    protege les "%" avec les backslash
    Même sans la date ça ne passe pas

  4. #4
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Bonjour,

    Si tu utilises la crontab de root, alors tu n'as pas besoin de spécifier l'utilisateur qui exécute le script. Sans la déclaration de root, ca devrait fonctionner.

    Et pour être sur, tu peux même dire à ta crontab d'exécuter ton script shell avec sh. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    05 13 * * * sh /etc/archivePi.sh

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 595
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 595
    Points : 19 480
    Points
    19 480
    Par défaut
    daynum n'est pas une fonction intégrée de awk
    run-parts exécute les scripts ou les exécutables d’un répertoire
    alors forcément ça marche pas !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Merci à tous pour votre aide, ça fonctionne!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/10/2010, 11h47
  2. Réponses: 6
    Dernier message: 04/09/2008, 12h25
  3. Réponses: 11
    Dernier message: 16/06/2008, 04h56
  4. Réponses: 4
    Dernier message: 17/03/2007, 02h06
  5. Réponses: 2
    Dernier message: 06/06/2005, 16h13

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