Get it on Google Play

Script de backup

17-03-2006
 

Aquí tenim un script que fa una copia de seguretat. M’agrada perque implementa els següents element:

– genera una copia d’una BBDD Mysql y uns directoris amb la data actual.
– Fa copies en 2 HD diferents. Els dies parells en un I els imparells en un altre.
– Envia els dos fitxers via FTP.


#!/bin/bash

# Operacions de manteniment *****************************
# ...

# Inicialitzo valors ************************************
HORA=$(date | tr ":" "-" | tr " " "_");
DIA=$(date +%d);
let MULTIPLE2=$DIA%2;

mkdir $HORA # Creo carpeta temporal

# Grabo les BBDD *****************************************
mysqldump -uuserxxx -ppassxxx --all-databases > ./db.txt

# Precopio ***********************************************
cp -r -v -d /usr/local/apache/sites ./$HORA
cp -r -v -d /usr/local/jdk1.5.0_06/bin/hotusa ./$HORA

# Comprimeixo ********************************************
tar -cvzf $HORA.tar.gz ./$HORA
tar -cvzf db_$HORA.tar.gz ./db.txt

# Faig copia en els HD externs alternativament ***********
# Dies parells en un HD i dies imparells en l'altre ******
if [ $MULTIPLE2 -eq 0 ]; then
    umount /dev/sdb1
    mount /dev/sdb1 /mnt/sdb1
    cp $HORA.tar.gz /mnt/sdb1
    cp db_$HORA.tar.gz /mnt/sdb1
    umount /dev/sdb1
else
    umount /dev/sdc1
    mount /dev/sdc1 /mnt/sdc1
    cp $HORA.tar.gz /mnt/sdc1
    cp db_$HORA.tar.gz /mnt/sdc1
    umount /dev/sdc1
fi

# Envio l'FTP ********************************************
ftp -in 195.77.254.67 <<EOT
user userxxx passxxx
bin
cd his
cd copia
put $HORA.tar.gz
EOT

ftp -in 195.77.254.67 <<EOT
user userxxx passxxx
bin
cd his
cd copia
put db_$HORA.tar.gz
EOT

# Elimino tots els fitxers temporals ***********************
rm -fr $HORA # Elimino carpeta temporal
rm -fr $HORA.tar.gz # Elimino arxiu de la copia
rm -fr db.txt # la base de dades
rm -fr db_$HORA.tar.gz # Elimino arxiu de la BBDD comprimida

exit

A disfrutar…

Leave a Reply

© Albert Coronado Calzada