Salut,
j’ai 2 scripte de backup mais 1 des 2 ne se lance pas :
54 16 * * * bash /mnt/backup/backup/backup_v7.sh
le script est comme ca :
[code]#!/bin/bash
#Init des variables
pingErr=1
rsyncErr=1
count=0
#on récupere le PID du script
PID=$$
Création du fichier log
echo date +"%d.%m.%Y %H:%M:%S" >> rsync_ssh.log
#Début du programme
while [[ $pingErr != 0 && $rsyncErr != 0 ]] # Test si des erreurs on lieu ou pas (ping ou rsync pendant le transfer)
do
ping -c 1 xxx.noip.me #
pingErr=$? # (erreur ou pas de ping)
if [[ $pingErr != 0 ]] # Si il y a une erreur de ping
then
echo “down, waiting !!!” # message d’erreur
let count=count+1 # on incrémente count
if [[ $count = 3 ]] # si apres 3 essais on ne ping toujours pas
then
echo “connexion error” >> rsync_ssh.log # message d’erreur
echo “transfert non effectué après $count tentatives” >> rsync_ssh.log # sortie sans backup
echo “” >> rsync_ssh.log # séparation des log
echo $PID # Affiche le PID
kill $PID # Kill le script
fi
sleep 3s # Attente avant re-controle de connexion
else # Début de transfert
echo “Réponse au ping apres $count tentatives” >> rsync_ssh.log
echo "Début de transfert"
rsync -av --exclude-from ‘exclude.txt’ --timeout=20 -e “ssh -i /home/jim/.ssh/id_rsa” /home/ jim@xxx.noip.me:/media/backup
rsyncErr=$?
fi
done
fin du script
Les infos sont enregistrées dans un Log
echo “Transfer complet sans erreur” >> rsync_ssh.log
echo “Transfer OK” >> rsync_ssh.log
création d’une ligne vide pour séparer les infos journalières de backup.log
echo “” >> rsync.log
[/code]
le scripte fonctionne manuellement par ./backup_v7.sh
le chemin est correcte il se lance aussi par bash /mnt/backup/backup/backup_v7.sh dans la console
je vois rien dans les log je pense qu’il n’aime pas une commande dans mon script ?
si je redirige tout ca dans un error.log je vois :
[code]cat error.log
PING xxx.noip.me () 56(84) bytes of data.
64 bytes from xxx): icmp_req=1 ttl=44 time=258 ms
— xxx.noip.me ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 258.541/258.541/258.541/0.000 ms
Début de transfert
[/code]
donc il le lance mais il ne doit pas executer les commandes qui suivent …
Merci