Sqlite Josejuansanchez
Sqlite Josejuansanchez
Sqlite Josejuansanchez
SQLite
1 SQLite 4
1.1 Instalación de SQLite en Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Backup físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 mysqldump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Exportar una o varias tablas de una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Exportar una o varias bases de datos completas . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Exportar todas las bases de datos completas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 Restaurar el backup de una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8 Automatizar el backup con un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.8.1 Bash script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.8.2 crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.8.3 Telegram bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.8.4 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.9 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Licencia 10
1
Índice de cuadros
2
Índice de figuras
3
Capítulo 1
SQLite
Este tipo de backup realiza una copia de los archivos de datos reales de la base de datos. Por ejemplo, podemos
usar mysqlbackup para bases de datos InnoDB y mysqlhotcopy para MyISAM. Este tipo de backup permite
restaurar una copia de la base de datos mucho más rápido que el backup lógico.
Las utilidades mysqlbackup y mysqlhotcopy sólo están disponibles en la herramienta [MySQL Enterprise Bac-
kup][3] que está incluida en [MySQL Enterprise Edition][4].
1.3 mysqldump
La utilidad mysqldump permite realizar backups lógicos de una base de datos MySQL.
4
Práctica 7. SQLite IES Celia Viñas (Almería) - 2021/2022
Para exportar una o varias tablas de una base de datos podemos usar este comando:
Ejemplo:
En este ejemplo estamos exportando todas las tablas de la base de datos wordpress y estamos guardando la
salida con las sentencias SQL en un archivo llamado backup.sql.
Nota importante: En este caso no se incluye la sentencia CREATE DATABASE en el archivo de backup. Sólo se
generan sentencias de tipo CREATE TABLE y INSERT.
Ejemplo:
En este ejemplo estamos exportando dos bases de datos completas llamadas wordpress y mediawiki, y es-
tamos guardando la salida con las sentencias SQL en un archivo llamado backup.sql.
Nota importante: En este caso sí se incluye la sentencia CREATE DATABASE en el archivo de backup.
Ejemplo:
En este ejemplo estamos exportando todas las bases completas que existen en el MySQL Server al que nos
estamos conectando. La salida con las sentencias SQL se guarda en un archivo llamado backup.sql.
Nota importante: En este caso sí se incluye la sentencia CREATE DATABASE en el archivo de backup.
Dependiendo de la opción que hayamos elegido para generar el backup, será necesario indicar previamente el
nombre de la base de datos donde vamos a restaurar la copia.
Recuerda que la sentencia CREATE DATABASE sólo se incluye en el backup cuando usamos las opciones --
databases y --all-databases. En estos casos podemos restaurar el backup con el siguiente comando:
Ejemplo:
En este caso nos estamos conectando con el usuario root y estamos restaurando todas las sentencias SQL que
están incluidas en el archivo backup.sql.
Si hemos realizado el backup sin usar las opciones --databases y --all-databases entonces la base de
datos sobre la que vamos a restaurar los datos debe existir. Si no estuviese creada la podemos crear con la
siguiente sentencia SQL:
Una vez que tengamos creada la base de datos podemos restaurar el backup con el siguiente comando:
Ejemplo:
#!/bin/bash
# Hacemos la copia de todas las bases de datos que hay en MySQL server
mysqldump --user=$USER --password=$PASSWORD --all-databases > $BACKUP_PATH/$DATE.
sql
1.8.2 crontab
crontab es una utilidad que nos permite ejecutar tareas programas en un sistema operativo GNU/Linux.
Cada usuario tiene su propio crontab y para poder editarlo sólo hay que ejecutar el siguiente comando:
crontab -e
Podemos crear un bot de Telegram para recibir una notificación en nuestro dispositivo móvil cada vez que se
realice un backup de las bases de datos.
3. Elegir un nombre para el bot y nombre de usuario. El nombre de usuario tiene que terminar en bot.
Ejemplo:
4. Una vez creado el bot Telegram nos devolverá el API Token del bot.
5. Obtener cuál es nuestro chat_id para que el bot pueda enviarnos notificaciones a nuestro dispositivo
móvil.
En primer lugar hay que iniciar una conversación con el bot que acabamos de crear y enviarle algún texto.
Después hay que hacer una petición HTTP GET a la siguiente URL reemplazando $TOKEN por el valor de
nuestro API Token y buscar cuál es nuestro id.
https://api.telegram.org/bot$TOKEN/getUpdates
Por ejemplo:
https://api.telegram.org/bot502192697:AAGnfNmLmXaw8kdORh4hMbg6B9sTxOECzWa/
getUpdates
6. Una vez que tenemos el API Token y nuestro chat_id ya podemos hacer que el bot nos envíe notifica-
ciones haciendo uso de la API de Telegram.
Podemos hacer una prueba haciendo una petición HTTP GET a la siguiente URL, reemplazando $TOKEN,
$ID y $TEXT por nuestros valores.
https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=$ID&text=$TEXT
Una vez que disponemos de toda la información necesaria podemos diseñar un bash script sencillo que haga
uso de la API de Telegram para enviarnos notificaciones. Por ejemplo:
#!/bin/bash
# Credenciales de Telegram
TOKEN=””
CHATID=””
# API de Telegram
URL=”https://api.telegram.org/bot$TOKEN/sendMessage”
# Texto de la notificación
DATE=$(date +”%d-%b-%Y”)
1. Diseñe un script que realice un backup todos los días de la semana a las 00:00, de todas las bases de datos
de MySQL Server.
2. Diseñe un script que realice un backup todos los viernes a las 08:00, de todas las bases de datos de MySQL
Server.
3. Diseñe un script que realice un backup el día 1 de cada mes 05:00, de todas las bases de datos de MySQL
Server.
1.9 Referencias
• PostgreSQL
• Cómo instalar PostgreSQL en Ubuntu 16.04
Licencia
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Inter-
nacional.
10