Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

Periodic daily et script sh ?

Discussion dans 'macOS' créé par Alkaplop, 16 Novembre 2008.

Modérateurs: Aliboron, bompi, daffyb
  1. Alkaplop

    Alkaplop Nouveau membre

    Inscrit:
    16 Novembre 2008
    Messages:
    3
    J'aime reçus:
    0
    Bonjour à tous,

    Voila, je suis passé récemment sous léopard et je viens de m'apercevoir que crontab n'existe plus.
    Après quelques recherches sur le web. J'ai pris connaissance de l'outil periodic daily, weekly, monthly et des modifications pouvant être apportés dans ces fichiers plist. Cela dit, il a un point qui me tracasse.

    Avec crontab, nous pouvions executer n'importe quelle commandes/scripts toutes les x secondes, minutes, heures, jours, etc.... Mais quand est il maintenant??
    A 1ere vu, periodic daily ne s'execute qu'une seul fois par jour à une heure précise ou bien, peut-etre lancé manuellement or j'aimerais pouvoir lancer automatiquement un script sh (bash) toutes les heures.

    Est ce toujours possible ? Comment peut on modifier periodic daily de manière à ce que son execution soit plus frequente et comment lui faire comprendre qu'il faut executer un script sh exterieur au periodic daily?

    Merci d'avance pour vos réponses.

    Cordialement
    Alkaplop
     
  2. bompi

    bompi El Moderador
    Modérateur Club MacG

    Inscrit:
    12 Février 2004
    Messages:
    41 787
    J'aime reçus:
    3 112
    cron n'est pas remplacé par les scripts périodiques.
    Ces derniers étaient présents depuis bien longtemps.

    cron est, par ailleurs, toujours présent (peut-être que cela fait partie de la certification UNIX).

    Reste que, pour Apple, les tâches cron sont intégrées à launchd, l'ordonnanceur généraliste (et open source) de l'OS.
     
  3. Alkaplop

    Alkaplop Nouveau membre

    Inscrit:
    16 Novembre 2008
    Messages:
    3
    J'aime reçus:
    0
    Ah ok :)

    J'ai trouvé quelques liens concernant Launchd notamment celui ci et celui la
    J'ai essayé toutes les manip indiqué sur ces 2 sites mais rien n'y fait. Aucun script se lance.

    voici mon fichier plist:
    Code (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
            <key>Label</key>
            <string>no.shutdown.hdd</string>
            <key>UserName</key>
            <string>Alka</string>
            <key>ProgramArguments</key>
            <array>
                <string>/usr/bin/no_shutdown_hdd.sh</string>
            </array>
        <key>StartInterval</key>
            <integer>300</integer>
    </dict>
    </plist>
    Le fichier no.shutdown.hdd.plist est enregistré dans /Library/LaunchAgents et le script, comme indiqué, dans /usr/bin.

    J'ai lancé ma commande avec
    Code (Text):
    launchctl load /Library/LaunchAgents/no.shutdown.hdd.plist
    Pas de message d'erreur et aucun backup n'est fait... De plus, ayant eu peur d'une erreur dans mon sh, je l'ai remplacé par une simple cmd (df -h > ~/Desktop/tmp.txt) mais rien n'y change.

    Edit: Dans mon /var/log/system.log je ne trouve aucune trace de mon no.shutdown.hdd.plist. A croire quil ne se lance pas et meme s'il n'y pas d'erreur, le script sh ne s'execute pas puisque je n'ai aucun tmp.txt sur mon bureau.... :(

    Si tu pouvais m'aider a y voir plus clair ;)

    Alkaplop
     
  4. alaincha

    alaincha Membre d’élite
    Club MacG

    Inscrit:
    6 Août 2006
    Messages:
    2 726
    J'aime reçus:
    67
    Bonjour,

    Et si tu expliquais au simple lecteur (presque amateur) que je suis pourquoi tu veux impérativement passer par des procédures hypothétiques qui n'existent plus depuis quelque temps car elles étaient devenues obsolètes.

    Quel bénéfice souhaites tu en tirer ?
     
  5. bompi

    bompi El Moderador
    Modérateur Club MacG

    Inscrit:
    12 Février 2004
    Messages:
    41 787
    J'aime reçus:
    3 112
    Pas tout à fait d'accord : il en est à utiliser launchctl sans trop y parvenir, donc semble avoir mis de côté cron.

    Reste que cron n'est pas en soi obsolète sur OS X, sinon Apple le signalerait comme tel dans la page de manuel. Laquelle précise :
    Donc il reste parfaitement utilisable.
     
  6. supermoquette

    supermoquette Cas clinique
    Club MacG

    Inscrit:
    13 Mai 2002
    Messages:
    29 365
    J'aime reçus:
    3 487
    il faut un

    sudo launchctl load -w Library/LaunchAgents/no.shutdown.hdd.plist

    pour lancer un launchd job depuis /Library/LaunchAgents, sinon tu le mets dans ~/Library/LaunchAgents avec

    launchctl load -w Library/LaunchAgents/no.shutdown.hdd.plist

    pour contrôler s'il est lancé

    (sudo) launchctl list | grep no.shutdown.hdd

    ah aussi je trouve un peu cavalier de placerun scipt dans /usr/bin, au moins dans /usr/local/bin pou rle distinguer de l'installation par défaut, voire dans ~/bin

    Essaie aussi de mettre
    <key>UserName</key>
    <string>alka</string>

    au lieu de
    <key>UserName</key>
    <string>Alka</string>
     
  7. bompi

    bompi El Moderador
    Modérateur Club MacG

    Inscrit:
    12 Février 2004
    Messages:
    41 787
    J'aime reçus:
    3 112
    Une précision : l'option '-w' permet d'activer/désactiver le service (load -w écrit l'entrée "Enabled" tandis que unload -w écrit l'entrée "Disabled").
     
  8. Alkaplop

    Alkaplop Nouveau membre

    Inscrit:
    16 Novembre 2008
    Messages:
    3
    J'aime reçus:
    0
    merci pour vos reponses, je vais tester ça ce soir et je vous tiens au courant :)
     
Modérateurs: Aliboron, bompi, daffyb
Chargement...

iOccasion - Achetez un produit Apple d'occasion

refurb Apple