Bonjour!!
sur mon ancien pc (Suse 9.2) j'ai fait un script pour récupérer un fichier txt d'un programme de gestion et l'envoyé dans ma base de donnée mysql depuis j'ai changé de pc maintenant j'ai une suse 10.3 mais ma base de donnée est protégé par un mot de passe et maintenant je n'arrive plus a lancé mon script voilà mes code avant et aprés:
avant:
Code :
#!/bin/bash
. ./generals.inc
rm -f log.txt
if [ ! -x $EXPORT_BIN ] ; then
log "$EXPORT_BIN n'est pas executable" ERROR
exit 1
fi
clear
log "**** Exportation Ciel -> db FBI ****\n"
log "====================================\n\n"
sleep
log "Backup de la table $DB_FBI.t_articles\n"
sleep
# Cr�er le r�pertoire de backup s'il n'existe pas encore
[ ! -d $BACKUP_DIR ] && mkdir $BACKUP_DIR
# G�n�re le nom pour le backup de la table
f="$BACKUP_DIR/t_articles_`date +"%d-%m-%Y_%H:%M:%S"`.sql"
# Utilise mysqldump pour backuper le contenu de la table t_articles
mysqldump --add-drop-table $DB_FBI t_articles -u $DB_USER -h $DB_HOST $DB_PASS > $f 2>&1 | tee -a log.txt
[ $? -ne 0 ] || [ "`grep 'mysqldump:' $f`" != "" ] && log "mysqldump n'a pas r�ussi � sauvegarder la table\n" ERROR
bzip2 $f
log "$DB_FBI.t_articles export� dans $f.bz2\n"
# Choix du fichier d'export
read -n100 -p "Fichier d'export issu de Ciel [$EXPORT_FILE]: " export_file
[ "$export_file" == "" ] && export_file=$EXPORT_FILE
if [ ! -r "$export_file" ] ; then
log "Le fichier n'est pas accessible (existe?)\n" ERROR
fi
# Retire les \r issus de windows
log "Formate le fichier � importer\n\n"
cat $export_file | sed 's/\r//g' > _tmp.txt
# Exporte
log "---- Lance $EXPORT_BIN ----\n\n"
$EXPORT_BIN _tmp.txt "$DB_HOST" "$DB_FBI" "$DB_USER" "$EXE_DB_PASS" 2>&1 | tee -a log.txt
rm -f _tmp.txt
log "Notifie la mise � jour dans la db\n"
fname=$(basename "$export_file")
echo "INSERT INTO t_maj VALUES(0,now(),'Maj t_articles via export Ciel ($fname)')" | mysql $DB_FBI -u $DB_USER -h $DB_HOST $DB_PASS
log "FIN\n\n"
exit 0
Code :
BACKUP_DIR="../_backup_"
EXPORT_FILE="export_ciel.txt"
EXPORT_BIN="../../dev/sources/export_ciel"
DUMP_BIN="`which mysqldump` --add-drop-table"
MAILS_DIR="/srv/www/htdocs/mails"
MAIL_SUBJECT="Promotion FBI Distribution"
MAIL_SENDER="mails@fbi-distribution.com"
SVR_ADDR="smtp.wanadoo.fr"
SVR_PORT="25"
SSH_USER="root"
SVR_WWW_DIR="/home/httpd/vhosts/fbi-distribution.com/httpdocs"
LCL_WWW_DIR="/srv/www/htdocs"
DB_HOST="127.0.0.1"
DB_FBI="fbi"
DB_MAIL="mails"
DB_USER="root"
DB_PASS=""
#DB_PASS="-p ***password***"
EXE_DB_PASS=""
#EXE_DB_PASS="***password***"
function log()
{
if [ "$2" == "ERROR" ] ; then
echo -ne "ERROR: $1"
echo -ne `date +"%d/%m/%Y %H:%M:%S"`":\tERROR:\t$1" >> log.txt
exit 1
else
echo -ne "$1"
echo -ne `date +"%d/%m/%Y %H:%M:%S"`":\t$1" >> log.txt
fi
}
function sleep()
{
# usleep 500000
usleep 5
}
maintenant
Code :
#!/bin/bash
. ./generals.inc
rm -f log.txt
if [ ! -x $EXPORT_BIN ] ; then
log "$EXPORT_BIN n'est pas executable" ERROR
exit 1
fi
clear
log "**** Exportation Ciel -> db FBI ****\n"
log "====================================\n\n"
sleep
log "Backup de la table $DB_FBI.t_articles\n"
sleep
# Cr�er le r�pertoire de backup s'il n'existe pas encore
[ ! -d $BACKUP_DIR ] && mkdir $BACKUP_DIR
# G�n�re le nom pour le backup de la table
f="$BACKUP_DIR/t_articles_`date +"%d-%m-%Y_%H:%M:%S"`.sql"
# Utilise mysqldump pour backuper le contenu de la table t_articles
mysqldump --password=jeromevalid --add-drop-table $DB_FBI t_articles -u $DB_USER -h $DB_HOST -p $DB_PASS > $f 2>&1 | tee -a log.txt
[ $? -ne 0 ] || [ "`grep 'mysqldump:' $f`" != "" ] && log "mysqldump n'a pas réussi à sauvegarder la table\n" ERROR
bzip2 $f
log "$DB_FBI.t_articles exporté dans $f.bz2\n"
# Choix du fichier d'export
read -n100 -p "Fichier d'export issu de Ciel [$EXPORT_FILE]: " export_file
[ "$export_file" == "" ] && export_file=$EXPORT_FILE
if [ ! -r "$export_file" ] ; then
log "Le fichier n'est pas accessible (existe?)\n" ERROR
fi
# Retire les \r issus de windows
log "Formate le fichier à importer\n\n"
cat $export_file | sed 's/\r//g' > _tmp.txt
# Exporte
log "---- Lance $EXPORT_BIN ----\n\n"
$EXPORT_BIN _tmp.txt "$DB_HOST" "$DB_FBI" "$DB_USER" "$DB_PASS" "$EXE_DB_PASS" 2>&1 | tee -a log.txt
rm -f _tmp.txt
log "Notifie la mise à jour dans la db\n"
fname=$(basename "$export_file")
echo "INSERT INTO t_maj VALUES(0,now(),'Maj t_articles via export Ciel ($fname)')" | mysql $DB_FBI -u $DB_USER -h $DB_HOST -p $DB_PASS
log "FIN\n\n"
exit 0
Code :
BACKUP_DIR="../_backup_"
EXPORT_FILE="export_ciel.txt"
EXPORT_BIN="../utils/dev/sources/export_ciel"
DUMP_BIN="`which mysqldump`--password=jeromevalid --add-drop-table"
MAILS_DIR="/srv/www/site/htdocs/mails"
MAIL_SUBJECT="Promotion FBI Distribution"
MAIL_SENDER="mails@fbi-distribution.com"
SVR_ADDR="smtp.orange.fr"
SVR_PORT="25"
SSH_USER="root"
SVR_WWW_DIR="/home/httpd/vhosts/fbi-distribution.com/httpdocs"
LCL_WWW_DIR="/srv/www/site/htdocs"
DB_HOST="127.0.0.1"
DB_FBI="fbi"
DB_MAIL="mails"
DB_USER="root"
DB_PASS="-p jeromevalid"
#DB_PASS="-p ***password***"
EXE_DB_PASS=""
#EXE_DB_PASS="***password***"
function log()
{
if [ "$2" == "ERROR" ] ; then
echo -ne "ERROR: $1"
echo -ne `date +"%d/%m/%Y %H:%M:%S"`":\tERROR:\t$1" >> log.txt
exit 1
else
echo -ne "$1"
echo -ne `date +"%d/%m/%Y %H:%M:%S"`":\t$1" >> log.txt
fi
}
function sleep()
{
# usleep 500000
usleep 5
}
quelqu'un a une idée?? merci