Substitution ne fonctionne pas avec cron
Bonjour,
J'ai fait un script bash pour sauvegarder ma base MySql. J'en profite pour garder les 7 derniers jours.
Lorsuqe je lance le programme en direct, tout marche, quand c'est le cron il me fait un "bad substitution"...
Comment ça se fait ?
Voici le script:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #!/bin/bash
#User Variables
DATE=/bin/date;
NOW=`$DATE '+%Y-%m-%d' `
MYSQLUSER=admin
MYSQLPWD=admin
MYSQLHOST=localhost
MYSQLBACKUPDIR=/media/sf_backup/
MK=/bin/mkdir;
RM=/bin/rm;
MV=/bin/mv
GREP=/bin/grep;
MYSQL=/usr/bin/mysql;
TAR=/bin/tar;
MYSQLDUMP=/usr/bin/mysqldump;
#$MK $MYSQLBACKUPDIR
$MYSQLDUMP -u$MYSQLUSER -p$MYSQLPWD -h$MYSQLHOST -Q -c -C --add-drop-table --add-locks --quick --lock-tables Madatabase > $MYSQLBACKUPDIR/Madatabase.$NOW.sql;
$TAR -czf $MYSQLBACKUPDIR/Madatabase.$NOW.0.tgz $MYSQLBACKUPDIR/Madatabase.$NOW.sql;
$RM -f $MYSQLBACKUPDIR/*7.tgz;
for fich in $MYSQLBACKUPDIR/*.6.tgz;do $MV $fich ${fich/.6.tgz/.7.tgz};done
for fich in $MYSQLBACKUPDIR/*.5.tgz;do $MV $fich ${fich/.5.tgz/.6.tgz};done
for fich in $MYSQLBACKUPDIR/*.4.tgz;do $MV $fich ${fich/.4.tgz/.5.tgz};done
for fich in $MYSQLBACKUPDIR/*.3.tgz;do $MV $fich ${fich/.3.tgz/.4.tgz};done
for fich in $MYSQLBACKUPDIR/*.2.tgz;do $MV $fich ${fich/.2.tgz/.3.tgz};done
for fich in $MYSQLBACKUPDIR/*.1.tgz;do $MV $fich ${fich/.1.tgz/.2.tgz};done
for fich in $MYSQLBACKUPDIR/*.0.tgz;do $MV $fich ${fich/.0.tgz/.1.tgz};done
$RM -f $MYSQLBACKUPDIR/*.sql; |