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

Linux Discussion :

Exécuter un cron job quand mon pc n'est pas allumé


Sujet :

Linux

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 58
    Points
    58
    Par défaut Exécuter un cron job quand mon pc n'est pas allumé
    Bonjour tout le monde, c'est la 1ere fois que je suis ici j’espère trouver enfin quelqu'un qui a des idées a propos de mon problème :

    J'ai déjà terminé un petit programme en Python qui fait des sauvegardes automatisées : j'entre les paramètres ( source , destination , mode de temps ) puis le programme s’occupe de remplir un fichier que crontab exécute, et ça marche bien.

    Le problème c'est que lorsque l'ordinateur n'est pas allumé a l'heure donnée : quand crontab doit exécuter la sauvegarde, rien ne se passe. J'ai lu des documentations sur Anacrontab et c'est bien, mais Anacrontab ne s’occupe pas d’exécuter les cron job après 5 mn du prochain démarrage comme promis.

    Sur le fichier /etc/anacrontab j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # /etc/anacrontab: configuration file for anacron
    # See anacron(8) and anacrontab(5) for details.
     
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
     
    # These replace cron's entries
    1    5    cron.daily     nice run-parts --report /etc/cron.daily
    7    10    cron.weekly     nice run-parts --report /etc/cron.weekly
    @monthly    15    cron.monthly nice run-parts --report /etc/cron.monthly
    J'ai un doute concernant la ligne de PATH, car dans la majorité des exemples trouvés, il y a un truc comme "PATH=/sbin:/bin:/usr/sbin:/usr/bin" !

    Sinon, j'ai mis le script Python qui fait le Backup dans le dossier "/etc/cron.daily " pour tester, je l’exécute via un cron job et ça fonctionne quand le PC est allumé. Et quand je l’exécute dans le terminale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nice run-parts --report /etc/cron.daily
    Ça exécute tout de suite le fichier /etc/cron.daily/Backup, mais quand je configure le cron job à une heure où le PC est éteint, quand je le démarre rien, ne se passe.

    Par exemple je fais :

    Et j'écrit mon cron :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    50 11 * * * /etc/cron.daily/Backup1
    éteint le PC tout de suite, je l'ouvre après 11h51, normalement Anacron doit exécuter le cron job après 5 minutes du nouveau démarrage ...

    Aidez-moi svp.
    Merci infiniment d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 598
    Points : 7 837
    Points
    7 837
    Par défaut
    Je ne suis pas allé très loin dans l'étude du domaine, mais, il me sembler que anacron pourrait résoudre ton problème.

  3. #3
    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 264
    Points
    12 264
    Par défaut
    une solution pertinante, est de mêtre en place un marqueur à la fin de la sauvegarde qui dit depuis quand elle date...
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date "+%Y%m%d-%H%M" > /var/log/save.last.log
    comme ça au boot tu fais un script qui check la date de dernière sauvegarde, et si elle a plus de XX heures paf tu la déclenches.

    tu t'élimine ainsi tous les problèmes de crontabs, de configuration et tu as en prime un script qui permet de déclencher des sauvegardes supplémentaires au coup par coup...(penses pour ça a faire un paramètres qui déclenche quelque soit l'horaire de la dernière save)

    bref que du bénéfice....

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 58
    Points
    58
    Par défaut Prob de crontab
    Merci Troumad , mais j'ai pas pu l'utiliser l'Anacrontab
    frp31 , j aime bien si je peux realiser enfin une solution pratique , j'explique encore mon rpobleme : je veux que : si c'est 16h58 , et je dois sortir à 17h00 en , je programme la sauvegarde automatique qui doit s'executer à 17h00 ou à 17h01 ou 17h05 .. , ça peut qu il y a un dossier de grande taille qui prend du temps à etre copier et zipper , alors je veux pas attendre que la sauvegarde soit faite , je veux programmer ma sauvegarde à 16h59 puis eteindre l'ordinateur directement et sortir smile , et je veux aussi que quand j'allume l'ordinateur la prochaine fois il execute la sauvegarde ne pas faite programmé à 17h07 par exemple .
    Merci à vous tous , merci au site .

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    Citation Envoyé par anacron - Wikipedia
    En utilisant cron, si le système est éteint au moment où la tâche était planifiée, elle ne s'effectuera pas cette fois-ci, et il faudra attendre l'occurrence suivante pour voir la tâche s'effectuer. anacron, à son démarrage, vérifie pour chaque tâche si elle a été lancée dans les n derniers jours, n étant la périodicité définie pour cette tâche. Si la réponse est non, anacron lance la commande relative à la tâche. Si donc, la machine était éteinte au moment exact où la tâche aurait dû s'effectuer pour respecter la période de n jours, on l'exécute au prochain démarrage d'anacron.
    Cela correspond pourtant très exactement à la demande

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 58
    Points
    58
    Par défaut prob d Anacrontab
    Salut Merci bien Winnt , mais Anacrontab ne fais pas son job , surtout le fichier Backup1.py que je dois exécuter dois recevoir des paramètres le syntaxe de ma crontab est :

    " 50 11 * * 2,3 python /home/ismail/Bureau/Backup11.py /home/ismail/Bureau/Testfolder /home/ismail/Bureau/Projet " , par exemple .

    mnt c 11h48 , je vais éteindre le pc tout de suite , je veux que quand je le redémarre après 11h51 par exemple , après 5 min c à dire à : 11h55 , ce fichier doit s'exécuter .

  7. #7
    Membre du Club Avatar de aysheaia
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 19
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Ismatus1 Voir le message
    Anacrontab ne fais pas son job
    [...]
    " 50 11 * * 2,3 python /home/ismail/Bureau/Backup11.py /home/ismail/Bureau/Testfolder /home/ismail/Bureau/Projet "
    [...]
    quand je le redémarre après 11h51 par exemple , après 5 min c à dire à : 11h55 , ce fichier doit s'exécuter .
    C'est normal qu'anacrontab n'exécute pas ce job.

    Le démon cron fait trois choses :
    - exécution des crontab utilisateur présentes sous /var/spool/cron/crontabs/
    - exécution des jobs donnés dans le fichier /etc/crontab, qui pointent vers des scripts présents sous /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly
    - exécution des jobs indiqués dans les fichiers présents sous /etc/cron.d/

    Le démon anacron fait une seule chose :
    - exécution des jobs donnés dans le fichier /etc/anacrontab, qui pointent vers des scripts présents sous /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly

    En conclusion, les jobs mis dans la crontab d'un utilisateur ne sont pas gérés par anacron.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 58
    Points
    58
    Par défaut Merci Aysheaia
    Je te remercie Aysheaia pour tes explications , je vais bosser un peu puis revenir vous dire les problemes que je trouves .
    Sinon , comme on va travailer sur un serveur , alors ça doit pas etre eteint , sinon , je vais chercher plus comment Anacrontab fonctionne .

Discussions similaires

  1. Cron job quand le serveur est en veille ou eteint
    Par Ismatus1 dans le forum Linux
    Réponses: 1
    Dernier message: 23/11/2011, 22h08
  2. Réponses: 4
    Dernier message: 16/06/2011, 23h36
  3. Quand mon site n'est pas chargé depuis le HTML
    Par Gregi dans le forum Intégration
    Réponses: 0
    Dernier message: 02/01/2010, 22h43
  4. Réponses: 2
    Dernier message: 23/12/2009, 14h41
  5. [C#]Quand mon objet axWebBrowser est-il supprimé ?
    Par Kcirtap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/10/2005, 10h16

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