Syncronizacao

1. Syncronizacao

Venancio Uaciquete
vuaciquete

(usa Outra)

Enviado em 24/10/2013 - 10:35h

Boas pessoal
Estou a trabalhar num sistema de gestao escolar e preciso de uma solucao rapida e simples para efectuar a sincronizacao de banco de dados Mysql,no momento estou usando scripts em python e distribucao usada e Ubuntu 10.10.Preciso sincronizar dados das escolas para a central a baixo vao os scripts que estou usando e nao sao tao "eficazes"

scrip do Centro(escola)
#!/bin/bash
################################################
#Este script pertence a santech
#Objectivo: sync escola --> central
#Writen by The STEWART cluster.isctem@gmail.com#
################################################

DATA=$(date +%y%m%d)
HORA=$(date +%k%_M%_S)
SERVER=41.76.150.10
CENTRO=110289
######Criando os directorios necessarios
[ ! -d /var/sql_log ] && mkdir -p /var/sql_log || :
[ ! -d /var/backups ] && mkdir -p /var/backups || :
#### Efectuar backup
mysqldump segi -uroot -proot > /var/backups/segi_dump_$DATA-$CENTRO.dump
cp /var/log/mysql/mysql.log /var/backups/segi_log_$DATA-$CENTRO.log && cp /dev/null /var/log/mysql/mysql.log
#### Aplicacao de filtro
####grep "insert\|update" /var/backups/segi_log_$DATA-$CENTRO.log | cut -d' ' -f5- |sed 's/Query//' |sed 's/$/\;/' > /var/backups/$DATA-$CENTRO.sql
####grep "insert\|update" /var/backups/segi_log_$DATA-$CENTRO.log | sed -e 's/.*insert//'
grep "insert\|update" /var/backups/segi_log_$DATA-$CENTRO.log |sed -e 's/.*Query//'|sed '/insert into ano_lectivo/d' |sed '/insert into sub_periodo_lectiv$
scp -P 22 /var/backups/*.sql root@$SERVER:/var/backups/syncs/ &>> /var/backups/ERROR.log
if [ $? -ne 0 ]; then
echo "Os ficheiros sql de $DATA-$CENTRO.sql nao foram copiados Data:$DATA Hora: $HORA" >> /var/backups/ERROR.log
else
mv /var/backups/*.sql /var/sql_log/
fi

exit 0

script da central

#!/bin/bash
################################################
#Este script pertence a santech
#Objectivo: sync escola --> central
#Writen by The STEWART cluster.isctem@gmail.com#
################################################
DATA=$(date)


for fix in `ls /var/backups/syncs`;
do
mysql segi -uroot -proot < /var/backups/syncs/$fix >> /var/log/syncs/SYNC.log
if [ $? -ne 0 ]; then
echo "Ocorreu um erro na importacao dos dados do ficheiro $fix DATA:$DATA" >> /var/log/syncs/SYNC.log
else
mv /var/backups/syncs/$fix /var/done_backups/
fi

done

exit 0

por favor ajudem-me abrcs




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts