Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2808 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bash dans cron ?

n°1359948
bardiel
Debian powa !
Posté le 23-06-2014 à 16:34:53  profilanswer
 

Bonjour,
 
J'ai une petite colle : j'ai un script, dans le /root d'un serveur Debian Wheezy, qui doit me copier l'adresse IP de la machine sur un serveur Windows :

#! /bin/bash
 
#recuperation de l'ancienne ip
adrip=$(grep [1-9] < /root/ip.txt)
 
#recuperation de la nouvelle ip
adrip2=ifconfig vmbr0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
 
#test de l'ip
if [ $adrip != $adrip2 ]
then
echo $adrip2 > /root/ip.txt
smbclient //<serveur>/<dossier> -A /root/.credsmb -W mondomaine -c "prompt;put ip.txt ;exit;"
fi


Avec mon .credsmb qui a le username et le password "kivabien"
A la main, mon script fonctionne, me compare bien mes IP, mets à jour, et copie sur le partage.
 
Maintenant je veux l'ajouter dans mon cron, pour qu'il s'exécute 1 fois par heure :

* */1 * * * * /bin/sh /root/monscript.sh


Et là... ça ne marche pas !


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
mood
Publicité
Posté le 23-06-2014 à 16:34:53  profilanswer
 

n°1359949
crypo
Posté le 23-06-2014 à 16:42:47  profilanswer
 

:hello:  
 Entrée       Description                   Equivalent à
-----------------------------------------------------------
 #yearly     Exécuté une fois par ans         0 0 1 1 *
 #annually   (comme pour #yearly)             0 0 1 1 *
 #monthly    Exécuté une fois par mois        0 0 1 * *
 #weekly     Exécuté une fois par semaine     0 0 * * 0
 #daily      Exécuté une fois par jour        0 0 * * *
 #midnight   (comme pour #daily)              0 0 * * *
 #hourly     Exécuté toute les heures         0 * * * *
===========================================================

n°1359950
bardiel
Debian powa !
Posté le 23-06-2014 à 16:51:08  profilanswer
 

Non mais pour le cron, j'ai fait à l'arraché :o
Il s'exécute bien comme "il faut", toutes les heures, je le voie passer dans /var/log/syslog.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1359960
Profil sup​primé
Posté le 23-06-2014 à 18:48:53  answer
 

salut,
 
le PATH de cron est très restreint. :(
 
=> adapte le PATH (dans ton script) pour y intégrer celui de chaque commande.
par exemple :

Code :
  1. export PATH=$PATH:/usr/bin:/sbin

n°1359967
bardiel
Debian powa !
Posté le 24-06-2014 à 08:56:02  profilanswer
 

Banco c'était ça !
 
Ce qui donne en code complet :

Code :
  1. #! /bin/bash
  2. export PATH=$PATH:/usr/bin:/sbin
  3. #recuperation de l'ancienne ip
  4. adrip=$(grep [1-9] < /root/ip.txt)
  5. #recuperation de la nouvelle ip
  6. adrip2=ifconfig vmbr0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
  7. #test de l'ip
  8. if [ $adrip != $adrip2 ]
  9. then
  10. echo $adrip2 > /root/ip.txt
  11. smbclient //<serveur>/<dossier> -A /root/.credsmb -W mondomaine -c "prompt;put ip.txt ;exit;"
  12. fi


Avec en invocation dans le cron comme indiqué au début par /bin/sh /root/monscript.sh. Pour ne pas trop m'enquiquiner, je le met à minuit chaque jour, mais il peut être mis simplement au release (à calculer) et au reboot du serveur.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1359983
Profil sup​primé
Posté le 24-06-2014 à 17:26:32  answer
 

Si tu appelles ton script avec `sh`, alors il sera exécuté avec ce vers quoi pointe `/bin/sh` (peut-être `bash`, peut-être `dash`, ou autre chose encore).
À quoi sert, alors, le ashbang (`#!/bin/bash`) au début du script ?
 
Il faut rendre le script exécutable, et l'appeler par son `/chemin/nom`.


Aller à :
Ajouter une réponse
 

Sujets relatifs
[Bash] " ' " devient " ? " [Resolu]Problème CRON CentOs
bash récupérer uniquement nombre après le string "--"Erreur script bash : TSET: 5: TSET: Syntax error: "(" unexpected
Un bon livre pour apprendre à programmer en BASH ?Problème script bash & lirc
Script bash de démarrage qui se lance après un sudo haltScript Bash Installation OpenVpn
Script Bash Installation rutorrent[cron + bash] script HS dans cron
Plus de sujets relatifs à : Bash dans cron ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR