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…