Salut,
J’ai un script que j’utilise depuis un moment et, je ne sais pour quelle raison obscure, le script me renvoie une erreur quand j’essaye de la lancer avec un CRON…
[code]# crontab -e
…
Fichiers Xtiers
30 16 * * * /usr/local/bin/isalo.sh >/dev/null 2>/dev/null
0 22 * * * /usr/local/bin/isalo.sh >/dev/null 2>/dev/null[/code]
Par contre en ligne de commande, ça roule:
Le script (au cas ou…).
Il s’agit d’une ouverture de tunnel + rsync + fermeture de tunnel sur deux machines distantes:
[code]#!/bin/bash
YEAR="$(date +%Y)“
FROMA=”/mnt/cifs/A/c/chemin"
FROMB="/mnt/cifs/B/c/chemin"
TOA="/var/www/A"
TOB="/var/www/B"
YEARA="$TOA/$YEAR"
YEARB="$TOB/$YEAR"
[ ! -d $YEARA ] && mkdir -p $YEARA || :
[ ! -d $YEARB ] && mkdir -p $YEARB || :
PIDFILE=/var/run/remote.pid
DIR=/etc/openvpn/remote
CONF=remote.conf
LOG=$(tempfile) ;
cd $DIR
openvpn --writepid $PIDFILE --daemon --config $CONF
sleep 15
Test VPN
ping -c3 10.0.0.2 > /dev/null
TEST=$?
if [ $TEST -ne 0 ]
then
echo -n "Erreur : " >> $LOG 2>&1 ;
echo “” >> $LOG 2>&1 ;
echo -n “Pas de connexion VPN !!!” >> $LOG 2>&1 ;
mailx -s “Erreur Script” -r admin@domaine.tld admin@domaine.tld < $LOG ;
exit 0
else
echo -n “Connexion VPN OK” >> $LOG 2>&1 ;
echo “” >> $LOG 2>&1 ;
echo “================” >> $LOG 2>&1 ;
fi
Vérification up A
PING_NUM=ping -n -c 10 10.10.0.1|grep received|awk '{ print $4 }'
if [ $PING_NUM -gt 5 ];
then
mount -t cifs -o username=monnom,passwd=monmotdepasse //10.10.0.1/c /mnt/cifs/A/c/
rsync -abuv “$FROMA”/XTIERS.DBF “$TOA”/XTIERS.DBF >> $LOG 2>&1 ;
rsync -abuv “$FROMA”/"$YEAR"/CA* “$YEARA”/ >> $LOG 2>&1 ;
rsync -abuv “$FROMA”/"$YEAR"/FA"$YEAR"* “$YEARA”/ >> $LOG 2>&1 ;
umount /mnt/cifs/A/c/
else
echo “” >> $LOG 2>&1 ;
echo “== Erreur ==” >> $LOG 2>&1 ;
echo “=> Pas de connexion à RRI” >> $LOG 2>&1 ;
Vérification up B
PING_NUM=ping -n -c 10 10.10.0.2|grep received|awk '{ print $4 }'
if [ $PING_NUM -gt 5 ];
then
mount -t cifs -o username=monnom,passwd=monmotdepasse //10.10.0.2/c /mnt/cifs/B/c/
rsync -abuv “$FROMB”/XTIERS.DBF “$TOB”/XTIERS.DBF >> $LOG 2>&1 ;
rsync -abuv “$FROMB”/"$YEAR"/CA* “$YEARB”/ >> $LOG 2>&1 ;
rsync -abuv “$FROMB”/"$YEAR"/FA"$YEAR"* “$YEARB”/ >> $LOG 2>&1 ;
umount /mnt/cifs/B/c/
else
echo “” >> $LOG 2>&1 ;
echo “== Erreur ==” >> $LOG 2>&1 ;
echo “=> Pas de connexion à JDR” >> $LOG 2>&1 ;
fi
echo “” >> $LOG 2>&1 ;
echo -n “Arrêt du tunnel openvpn…” >> $LOG 2>&1 ;
PID=cat $PIDFILE
kill $PID
rm $PIDFILE
if grep -q “Erreur” $LOG
then
mailx -s “Erreur Script” -r admin@domaine.tld admin@domaine.tld < $LOG ;
exit 1
else
mailx -s “Succès backup” -r admin@domaine.tld admin@domaine.tld < $LOG ;
fi
exit 0[/code]