Advertisement
sergio_educacionit

mariadbdump.sh

Jan 29th, 2025 (edited)
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.19 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Verficiar el nivel de usuario, para
  4. # realizar el volcado se debe tener privilegios de 'root'
  5. # La id de usuario para 'root' es '0'.
  6.  
  7. if [ $UID -ne 0 ];then
  8.  
  9.     # se envia la salida al 'standar error'
  10.     echo "Debe ser usuario 'root' para ejecutar este programa" >&2
  11.     # se sale del script con exit status 1
  12.     exit 1
  13.    
  14. fi
  15.  
  16. mariadb_dump () {
  17.  
  18.     # una variable local solo existe dentro de la funcion
  19.     # puede llamarse igual que otras variables de fuera
  20.     # pero sigue siendo independiente.
  21.  
  22.     local timestamp=$1
  23.  
  24.     # un retorno es un exit status pero de funciones
  25.     # con el operador '||' (or) si el volcado termina con
  26.     # errores a funcion retorna '1'
  27.     # de lo contrario retorna '0'
  28.     echo 'Volcado de bases de datos...'
  29.     mysqldump --all-databases > ${backupdir}/${timestamp}_mariadb.sql || return 1
  30.  
  31.     return 0
  32. }
  33.  
  34. timestamp=$(date +%s)
  35. backupdir="/var/backups/mariadb"
  36.  
  37. if [ -d "$backupdir" ]; then
  38.    
  39.     # el programa termina si la funcion retorna '1'
  40.     mariadb_dump $timestamp && ls -1 $backupdir || { echo "No se pudo hacer volcado"; exit 1; }
  41. else
  42.     mkdir -v -p $backupdir
  43.     mariadb_dump $timestamp && ls -1 $backupdir || { echo "No se pudo hacer volcado"; exit 1; }
  44. fi
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement