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 :

shell et cron


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Par défaut shell et cron
    Bonjour,

    Je débute sous shell, et je suis sur un point bloquant.

    J'ai un petit script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd "/home/FG/G/transcode"
    find -mmin +3  -type f -name '*.wmv' -exec bash -c 'ffmpeg -i "$0" -b 1200kb -s 720*483 "${0/wmv/mpeg}"' {} \;
    qui fonctionne bien quand je le lance à la main. Il me convertit les vidéos dans un dossier qui ont été déposé il y-a moins de 3 minutes du format wmv vers mpeg.

    Mais dès qu'il est sous cron :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    4 * * * * /root/transcode.sh > /home/FG/G/transcode/transcode.log
    et bien que parfois il s’exécute (vim var/log/cron) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dec 24 12:04:01 Serveur-Principal CROND[10858]: (root) CMD (/root/transcode.sh)
    Il ne convertit jamais mes vidéos.

    Y-a t-il quelque chose dans cron qui peut poser un problème avec une commande comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find -mmin +3  -type f -name '*.wmv' -exec bash -c 'ffmpeg -i "$0" -b 1200kb -s 720*483 "${0/wmv/mpeg}"' {} \;
    Merci pour votre réponse, car la je suis bloqué, je ne connais pas beaucoup les notions d'environnement/cron.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Dans cron, aucune des variables d'environnement mises en œuvre par .bashrc ou équivalent n'a été initialisée, y compris PATH.
    Il faut donc préciser les chemins complets dans tes lignes de commandes et éventuellement initialiser des variables dans le script.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Par défaut
    Trouvé ^^

    Attention, la suite est comique.

    SI le script ne s’exécute pas toutes les 4 minutes, c'est parce qu'il s’exécute à 12h04, 13h04, 14h04...

    Merci

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par al1_24 Voir le message
    Dans cron, aucune des variables d'environnement mises en œuvre par .bashrc ou équivalent n'a été initialisée, y compris PATH.
    Pas tout à fait. Le cron offre quand-même un environnement minimaliste contenant un PATH, un HOME, un LOGNAME, un SHELL et un PWD. Mais (surtout pour le PATH) ce sont des contenus très basiques (/bin et /usr/bin).

    Citation Envoyé par nephi28 Voir le message
    Attention, la suite est comique.
    SI le script ne s’exécute pas toutes les 4 minutes, c'est parce qu'il s’exécute à 12h04, 13h04, 14h04...
    Ben oui. Va relire la doc du cron, tu verras que le premier champ est celui indiquant à quelle minute le script doit s'exécuter. En écrivant "4", le script s'exécute chaque fois que l'horloge de ton PC arrive sur "minute=4".

    Si tu veux un script s'exécutant toutes les 4 minutes, alors en supposant que le départ soit à "0" il te faut écrire 0,4,8,[24][0,4,8],[135][26] * * * * $HOME/transcode.sh.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Si tu veux un script s'exécutant toutes les 4 minutes, alors en supposant que le départ soit à "0" il te faut écrire 0,4,8,[24][0,4,8],[135][26] * * * * $HOME/transcode.sh.
    ou 0/4 * * * * $HOME/transcode.sh directement ^^

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    ou 0/4 * * * * $HOME/transcode.sh directement ^^
    Citation Envoyé par zipe31 Voir le message
    */4 * * * * $HOME/transcode.sh serait plus simple, non ?

    Frimeurs quand-même
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Citation Envoyé par Sve@r Voir le message
    Si tu veux un script s'exécutant toutes les 4 minutes, alors en supposant que le départ soit à "0" il te faut écrire 0,4,8,[24][0,4,8],[135][26] * * * * $HOME/transcode.sh.
    */4 * * * * $HOME/transcode.sh serait plus simple, non ?

    Bonnes fêtes @ toutes z'et @ tous

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

Discussions similaires

  1. Problème python dans script shell et cron
    Par Tintin87 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 15/11/2011, 22h29
  2. cron ftp shell
    Par babib92 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 10/05/2009, 19h05
  3. fichier shell qui ne fonctionne pas avec le cron mais fonctionne dans le shell
    Par diabli73 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 20/10/2008, 19h12
  4. [Shell] Lancer un script 1x par mois avec cron
    Par loopback dans le forum Linux
    Réponses: 2
    Dernier message: 19/04/2007, 16h21
  5. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

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