Bonjour à tous,

j'ai commencé à faire un script pour que celui-ci vérifie le jour et en fonction du jour, il va faire une sauvegarde des datas de mon serveur un répertoire.

Par exemple, si nous sommes lundi, il va sauvegarder les datas du répertoire /datas dans le répertoire /mnt/lundi

Mon script fonctionne lorsque je le lance à la main, mais pas lorsque je le cron.

Voici le script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
 
if [ `/bin/date | /usr/bin/cut -f1 -d2`  == lundi ] ;
then /usr/bin/rsync -avz --delete /datas/ /mnt/lundi/
fi
 
if [ `/bin/date | /usr/bin/cut -f1 -d2`  == mardi ] ;
then /usr/bin/rsync -avz --delete /datas/ /mnt/mardi/
fi
 
if [ `/bin/date | /usr/bin/cut -f1 -d2`  == mercredi ] ;
then /usr/bin/rsync -avz --delete /datas/ /mnt/mercredi/
fi
 
if [ `/bin/date | /usr/bin/cut -f1 -d2`  == jeudi ] ;
then /usr/bin/rsync -avz --delete /datas/ /mnt/jeudi/
fi
 
if [ `/bin/date | /usr/bin/cut -f1 -d2`  == vendredi ] ;
then /usr/bin/rsync -avz --delete /datas/ /mnt/vendredi/
fi

Voici la trace dans le syslog :

Subject: Cron <root@srv-datas> /usr/src/lh/rc.save
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Date: Wed, 27 May 2009 09:24:01 +0200 (CEST)

/usr/src/lh/rc.save: line 3: [: too many arguments
/usr/src/lh/rc.save: line 7: [: too many arguments
/usr/src/lh/rc.save: line 11: [: too many arguments
/usr/src/lh/rc.save: line 15: [: too many arguments
/usr/src/lh/rc.save: line 19: [: too many arguments
De plus, en shell, n'est pas possible de faire un script comme ceci :

DAY=Vérification du jour

Si DAY = lundi faire sauvegarde lundi, sinon si résultat = mardi faire sauvegarde mardi, sinon si résultat = mercredi etc....


Merci pour vos suggestions....