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 :

Activer cron avec os ubuntu - et passer une date


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut Activer cron avec os ubuntu - et passer une date
    bonjour ,

    Pour activer le cron j'ai créé un utilisateur et donné des droits à cet utilisateur
    Mais cela ne suffit pas

    http://www.math-linux.com/linux-2/co...lieres-crontab

    http://www.math-linux.com/linux-2/tu...s-aux-fichiers

    Quelles vérifications sont conseillés ?

    @+

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Toujours pareil: Quels sont les messages d'erreur ?

    Regarde dans /var/log/cron.log.

    Si fichier vide, sous Debian, vérifie que la ligne suivante est décommentée dans /etc/rsyslog.conf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # cron.*                          /var/log/cron.log

    Quelle ligne as-tu écrit dans la crontab ?

    Comment sais-tu que "ça ne marche pas" ?

  3. #3
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    Regarde dans /var/log/cron.log ( rien )

    /etc/rsyslog.conf:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #  /etc/rsyslog.conf	Configuration file for rsyslog.
    #
    #			For more information see
    #			/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
    #
    #  Default logging rules can be found in /etc/rsyslog.d/50-default.conf
     
     
    #################
    #### MODULES ####
    #################
     
    $ModLoad imuxsock # provides support for local system logging
    $ModLoad imklog   # provides kernel logging support
    #$ModLoad immark  # provides --MARK-- message capability
     
    # provides UDP syslog reception
    #$ModLoad imudp
    #$UDPServerRun 514
     
    # provides TCP syslog reception
    #$ModLoad imtcp
    #$InputTCPServerRun 514
     
    # Enable non-kernel facility klog messages
    $KLogPermitNonKernelFacility on
     
    ###########################
    #### GLOBAL DIRECTIVES ####
    ###########################
     
    #
    # Use traditional timestamp format.
    # To enable high precision timestamps, comment out the following line.
    #
    $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
     
    # Filter duplicated messages
    $RepeatedMsgReduction on
     
    #
    # Set the default permissions for all log files.
    #
    $FileOwner syslog
    $FileGroup adm
    $FileCreateMode 0640
    $DirCreateMode 0755
    $Umask 0022
    $PrivDropToUser syslog
    $PrivDropToGroup syslog
     
    #
    # Where to place spool and state files
    #
    $WorkDirectory /var/spool/rsyslog
     
    #
    # Include all config files in /etc/rsyslog.d/
    #
    $IncludeConfig /etc/rsyslog.d/*.conf
    Dans crontab, c'est : /5 * * * * sudo python /.../cube_4.py >> txt-$(date '+%H-%M')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/cube_4.py >> txt-$(date '+%H-%M')
    Correct, mais le chemin de sortie du txt-$ sera aussi long que celui du sudo python

    @+ Pour le cron


    Erreur dans cron.log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/cube_4.py >> /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/txt-$(date '+)
    Jul  8 11:51:01 msi-ubuntu CRON[4366]: (msi-ubuntu) MAIL (mailed 1 byte of output; but got status 0x00ff, #012)
    txt-$(date '+%H-%M') # n'est pas interprété par le cron

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    d-germy/cube/txt-$(date '+)
    C'est quoi ça ? Où est le quote fermant ? Où sont %M et %H ?

  5. #5
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    Ma question : comment voir dans cron.log une erreur et laquelle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Jul  8 15:20:01 msi-ubuntu CRON[4563]: (msi-ubuntu) CMD (sudo python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/essai.py)
    Jul  
    8 15:20:01 msi-ubuntu CRON[4562]: (msi-ubuntu) MAIL (mailed 1 byte of output; but got status 0x00ff, #012)
    essai.py :

    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
    import time
    import random
     
    heure=time.strftime("%H")
    min=time.strftime("%M")
    mois=time.strftime("%B")
    jour=time.strftime("%d")
    print jour, mois
    print heure, min
     
    random.randint(500, 1000)
     
    obFichier = open('/media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/tax','w')
    obFichier.write(jour+'-')
    obFichier.write(mois+'\n')
    obFichier.write(heure+'-')
    obFichier.write(min+'\n')
    obFichier.close()
    Le cron exécute essai.py toutes les minutes, et tax ne change pas son contenu

    En mode console le script fonctionne : python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/essai.py

    La ligne cron est identique : */1 * * * * sudo python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/essai.py


    @+

    ( PARTIELLEMENT )

    C'est le sudo qui bloque le cron

    */1 * * * * python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/cube_4.py >> /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/txt-$(date '+%H-%M') NE FONCTIONNE JAMAIS

    >> envoi le fichier dans /home/msi-ubuntu/txt-$(date '+%H-%M') (cron OK )
    >> /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/txt-$(date '+%H-%M') ( plante le CRON qui ne veut pas rediriger vers /media/..... )

    POURQUOI LE CRON NE VEUX PAS RE-REDIRIGER ?

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Pour rediriger la sortie d'erreur d'un script, rediriger le canal 2. Le canal 1 est pour la sortie standard, le canal 0 pour l'entrée standard, et les autres libres d'utilisation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo python /media/msi-ubuntu/4a613636-5602-4e5a-9856-8e1aef2a7f43/0-dd-germy/cube/essai.py 2>/home/toto/log_cron.log
    (Evidemment, toto n'est qu'un exemple.)

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    C'est quoi ça ? Où est le quote fermant ? Où sont %M et %H ?
    Euh... il me semble me souvenir d'un piège classique de "cron" concernant le "%"...
    (je suis surpris que personne ne l'ait relevé!)


    Donc man 5 crontab puis une petite recherche de "%" (soit /% RET) qui nous donne:

    The ``sixth'' field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL
    variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.
    Conclusion: faut un backslash "\" avant chaque "%"

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

Discussions similaires

  1. Active directory avec ASP
    Par vva dans le forum ASP
    Réponses: 13
    Dernier message: 29/08/2008, 11h02
  2. Probleme de freez avec ma Ubuntu
    Par Ekinoks dans le forum Ubuntu
    Réponses: 12
    Dernier message: 06/08/2007, 19h58
  3. Activation Ultimate avec clé d'une autre version
    Par slim dans le forum Windows Vista
    Réponses: 5
    Dernier message: 26/02/2007, 15h30
  4. Activer Cellule avec VBA
    Par jmarcB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/01/2007, 16h43
  5. cron avec python
    Par malmzi2007 dans le forum Zope
    Réponses: 2
    Dernier message: 04/09/2006, 17h17

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