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 :

Crontab et boucle for


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 238
    Par défaut Crontab et boucle for
    Bonjour à tous,

    je pense être dans le bon forum.

    Voici mon soucis.
    J'ai écris un script en bash pur faire une sauvegarde d'une partie de mes documents.
    Le script doit aussi vérifier si il existe deja des backup et à quelle date.
    Comme je compte faire un backup journalier, si des backup plus vieux de quatre jours existent, on les suppriment.

    Le backup et l'effacement fonctionne parfaitement lorsque je les lancent depuis un terminal.

    Je crée dons un cron qui lance le script tous les jours.

    Le backup se fait bien, mais la boucle qui vérifie si les anciens fichiers ont plus de quatre jour ne passe pas ....
    J'ai mis des commande de sortie vers un fichier log, et effectivement le script qui doit vérifier/effacer les fichiers demarre bien,
    mais la boucle (for fich in "$REP"*) ne passe pas.

    Le meme scrript dans le terminal fonctionne impeccablement.
    le cron est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #***   Sauvegarde tous le jour à 09:00 et effacement des Bck
    51 10 * * * /home/michel/Documents/bash/sauvegarde.sh -b
    manque -t-il quelque chose dans la ligne du CRON, ?

    Merci de votre aide

    Michel

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 372
    Par défaut
    Bonjour,

    J'ai envie de dire qu'il manque l'user, mais je sais pas par défaut qu'elle user est utilisé par la cron (si c'est root ou un autre).

    Spécifie l'user.

    Et tu entends quoi par la boucle ne passe pas ? C'est pas très clair ? $REP est vide ? Erreur ?

    Dans quel cas ton "-b" est nécessaire ?

    Cdt
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  3. #3
    Membre éclairé

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 238
    Par défaut
    Il manque le USER ?? ou cela?

    Spécifier l'user dans le cron ?

    Mes fichier script sont autoriser pour le proprio (moi) et mon groupe.
    Le cron est lancé pour le user (je crois donc moi)

    Pour détailler un peux plus,
    j'ai un script (sauvegarde.sh) qui lorsque le premier argument est "-b", la sauvegarde se fait, création d"un fichier *.tar. Avec d'autre options, on a une liste, ou des test.

    Ce script, avant de créer le fichier *.tar, démarre un autre script (Effbck.sh) ui parcour le répertoire des backup, et si il trouve des fichier plus vieux que 4 jours, il les efface;

    Depuis un terminal, tous se passe bien (le user est moi evidement)
    Depuis CRON, le premier script est exécuté, l'appel au second se fait aussi, mais dans ce second script( Effbck.sh), la boucle servant à parcourir les fichiers du répertoire ne s"effectue pas. Hors, je suis sur que le script démarre, car le fichier log en atteste. Mais il ne parcours pas le répertoire....

    Je n'ai pas d'erreur lors de l"xecution.

    Michel

  4. #4
    Membre éclairé

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 238
    Par défaut user dans crontab
    Voila, j'ai modifier la commande de crontab,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #***   Sauvegarde tous le jour à 09:00 et effacement des Bck
    19 12 * * * michel /home/michel/Documents/bash/sauvegarde.sh -b
    mais alors plus rien ne fonctionne.

    j'&i remis la ligne "normale":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #***   Sauvegarde tous le jour à 09:00 et effacement des Bck
    26 12 * * *  /home/michel/Documents/bash/sauvegarde.sh -b
    et le script fonctionne , mais toujours pas la boucle de parcours du répertoire...
    Y doit y avoir autre chose, mais quoi????

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 372
    Par défaut
    Plus rien ne fonctionne ? Ca manque en détail ? Problème de droit , surement ca


    Je redemande, à quoi sert l'option -b ?
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  6. #6
    Membre éclairé

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 238
    Par défaut
    L'option -b, donne l'information pour crée le fichier backup (*.tar) au script.
    Si l'argument -b n'est pas présent, la création du fichier ne se fera pas.

    michel

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

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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