Bash dans cron ? - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 23-06-2014 à 16:42:47
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 * * * *
===========================================================
Marsh Posté le 23-06-2014 à 16:51:08
Non mais pour le cron, j'ai fait à l'arraché
Il s'exécute bien comme "il faut", toutes les heures, je le voie passer dans /var/log/syslog.
Marsh Posté le 23-06-2014 à 18:48:53
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 :
|
Marsh Posté le 24-06-2014 à 08:56:02
Banco c'était ça !
Ce qui donne en code complet :
Code :
|
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.
Marsh Posté le 24-06-2014 à 17:26:32
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`.
Marsh Posté le 23-06-2014 à 16:34:53
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