[Résolu]Script ne se termine pas avec Cron ?

Bonjour a tous, je vous expose donc mon probleme.

Je tourne sous une debian 4 et lorsque cron execute mon script a l’heure prevu, on dirai qu’il ne vas pas jusqu’au bout.

Mon script cré 3 fichiers RAR de sauvegarde un apres l’autre.
Je lance le script dans un terminal, il fonctionne parfaitement.

Lorsque cron l’execute, il cré uniquement le premier fichire, mais pas les autres.

Avez-vous une idée ???

Merci d’avance.

hello,

Tu devrais mettre des points de controle dans ton script, genre des redirections de toutes les commandes dans un log.

Voici mon script :

#!/bin/sh
cd /home/sauvegarde
smbmount //192.168.1.167/c /mnt/serveur1 -o guest
serv=/mnt/serveur1/
rep=`date +%a-%d-%m-%Y-%Hh`
echo $rep
mkdir $rep
echo sauvegarde des données  en cours...
rar a -m5  ./$rep/donnees.rar $serv/donnees/*
echo sauvegarde de la caisse en cours...
rar a -m5 ./$rep/caisse.rar $serv/caisse/*
echo sauvegarde de la gestion en cours...
rar a -m5 ./$rep/gestion.rar $serv/gestion/*
echo Sauvegarde Terminée !
smbumount /mnt/serveur1

enfaite tu me suggere de renvoyé :
rar a -m5 ./$rep/donnees.rar $serv/données/* > log1.txt

???

Désolé de mon incompetance lol =)))

bonjour,
je ne sais pas exactement quel problème peut rencontrer ton script, mais s’il fonctionne bien en console, je pense que tout simplement cron doit l’appeller en background:

[quote=“corsica13”]enfaite tu me suggere de renvoyé :
rar a -m5 ./$rep/donnees.rar $serv/données/* > log1.txt
[/quote] Oui par exemple, sauf que dans ce cas (vu que ça n’est pas prévu pour être lancer dans un terminal -> pas de $(pwd)), je pense que tu dois mettre un chemin absolu, style /var/log/tonscript.txt

Ce qui donnerait:

Pour ne pas avoir à rediriger la sortie de chaque commande de ton script, tu le fais globalement, c’est tout le script qui est redirigé (ses sorties).
Mais tu n’a alors aucun suivi à l’écran. En plus, les tâches lancées par cron ne sont pas prévues pour effectuer des sorties en console.
Si c’est un script qui se lance en fin de boot, c’est autre chose.
Tu peux aussi imaginer de rediriger les sorties &1 et &2 vers un /dev/tty8 (toujours ouvert normalement, et n’attendant pas de login); ou une partie, si tu veux la sortie standard en /dev/tty8 (on y accède par un Ctrl + Alt + F8 ), et la sortie erreur en fichier de log, ça donnerait ça:

merci beaucoup, je vais tester ca rapidement.

@+++

Bonjour, j’ai resolu ce vieux probleme, alors autant en faire profiter ce qui cherchait comme moi.

Enfaite le script doit contenir le chemin complet des commande.

On trouve le chemin complet grace a la commande “whereis”.

par exemple

devient

@++ Les gens.