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 :

Problème de crontab unix


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2012
    Messages : 40
    Par défaut Problème de crontab unix
    bonjour
    je suis débutant en cron lunix et je veux exécuter un script shell à chaque heure .mon script shell est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/sh
    #Shell to copy a file to folder
    SC=/home/karim/Desktop/input/*
    DST=/home/karim/Desktop/temp/
    DEST=/home/karim/Desktop/output/
    for i in "$SC";
    do 
    cp $i $DST
    mv $i $DEST
    sleep 3
     done
    En plaçant un script (en lui lui attribuer les droits en exécution avec la commande chmod +x) dans un le dossier etc/cron.hourly.pour automiser son exécution respectivement une fois par heure,
    Mais ça ne fonctionne pas j'ai aucun changement. ???????
    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
    il faut éditer la crontab par la commande
    crontab -e et écrire une ligne du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 * * * * /chemin/tonscript.sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
              field         allowed values
               -----         --------------
               minute        * or 0-59
               hour          * or 0-23
               day-of-month  * or 1-31
               month         * or 1-12 or a name (see below)
               day-of-week   * or 0-7 or a name (0 or 7 is Sunday)
               command       text

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Bonjour,

    /etc/cron.hourly devrait être réservé aux tâches d'administration, et ne dvrait donc pas être utilisé pour tes tâches personnelles.
    tu devrais, comme l'a dit frp31, utiliser crontab.

    on t'a déjà fait remarqué que si tu n'as qu'un argument dans la liste fournie à for, alors la boucle est inutile!
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2012
    Messages : 40
    Par défaut
    Merci pour votre attention. Mais lorsque j’écris la commande crontab -e l’écran nous affiche un entier

    C'est ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    root@ubuntu:/etc/cron.hourly# ls
    deplacement2.sh
    root@ubuntu:/etc/cron.hourly# crontab -e
    289
    Désolé je ne compris pas comment déterminer le chemin ?
    Merci d'avance.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for fichier in /chemin/repertoire/*
    do echo "$fichier"
    done
    ...
    ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2012
    Messages : 40
    Par défaut
    bonjour
    désolée je ne comprends pas quel est le rôle de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for fichier in /chemin/repertoire/*
    do echo "$fichier"
    done
    je crée un script deplacement2.sh dans cron.hourly et j'effectue le travail suivant :
    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
    root@ubuntu:~# cd /etc/cron.hourly
    root@ubuntu:/etc/cron.hourly# crontab -l
     
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=" "
    HOME=/ 
     
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
     
    */5 * * * * root deplacement.sh
    root@ubuntu:/etc/cron.hourly# service cron restart
    cron start/running, process 12027
    root@ubuntu:/etc/cron.hourly# crontab -e
    289
    je ne comprends pas pourquoi crontab -e me donne l'entier 289 ??? comment effectuer le travail??
    et merci

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    la boucle for en exemple, c'est pour te montrer comment bien faire, mais je suis passé un peu à côté

    si tu mets l'astérisque dans une variable, et que cette variable est utilisée entre guillemets dans une boucle for, alors l'astérisque ne sera pas développé pour afficher les fichiers contenus sous le chemin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    src="chemin/*" # ici, il faut des guillemets.
    for f in "$src"; do echo "$f"; done
    chemin/*
    # il ne faut pas mettre de guillemets
    for f in $src; do echo "$f"; done
    chemin/fichier
    chemin/fichier1
    etc

    pour ton problème de crontab, je suis sur Debian, et je ne rencontre pas ce problème.
    désolé.

    par contre, il me semble me souvenir d'un problème de ce genre...
    il faudrait vérifier la configuration de /etc/sudoers (si tu peux nous afficher la tienne), qui empêche root d'avoir une crontab, et qui n'affiche qu'un nombre
    ...
    à vérifier, donc
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. problème de crontab
    Par Stumi dans le forum Linux
    Réponses: 13
    Dernier message: 06/08/2008, 17h00
  2. Problème de backup UNIX/LINUX
    Par siegfried666 dans le forum Administration système
    Réponses: 2
    Dernier message: 25/11/2007, 00h38
  3. problème avec crontab
    Par polace dans le forum Administration système
    Réponses: 3
    Dernier message: 04/11/2007, 00h40
  4. Problème avec CRONTAB
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/08/2007, 16h23
  5. problème surcharge operator+ (UNIX)
    Par richard_sraing dans le forum Linux
    Réponses: 9
    Dernier message: 01/12/2006, 20h41

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