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 34 35 36 37 38 39 40 41 42 43 44 45
| #!/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 |
Partager