Backup owncloud

De Base de conocimiento
Revisión del 02:26 5 oct 2021 de Oscar (discusión | contribs.) (Página creada con «Scrip de backup #!/bin/bash DATABASES=$(mysql --password=${MARIADB_ROOT_PASSWORD} --user=root -e 'show databases;' | sed 1d | grep -v -E "(mysql|information_schema|perfor…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Scrip de backup

  1. !/bin/bash

DATABASES=$(mysql --password=${MARIADB_ROOT_PASSWORD} --user=root -e 'show databases;' | sed 1d | grep -v -E "(mysql|information_schema|performance_schema)") MAXIMUM=14

if [ "${DATABASES}" == "" ] then

 exit

fi

if [ ! -d /var/lib/backup ] then

 mkdir -p /var/lib/backup
 chmod 740 /var/lib/backup

fi

cd /tmp

for DATABASE in ${DATABASES} do

 if [ -f /tmp/mysql-${DATABASE}.sql ]
 then
   rm -f /tmp/mysql-${DATABASE}.sql
 fi
 mysqldump --add-locks --password=${MARIADB_ROOT_PASSWORD} --user=root ${DATABASE} > /tmp/mysql-${DATABASE}.sql

done

for (( COUNTER=$MAXIMUM; COUNTER>=1; COUNTER-- )) do

 if [ -d /var/lib/backup/backup.${COUNTER} ]
 then
   DEST=`expr $COUNTER + 1`
   if [ $DEST -le $MAXIMUM ]
   then
     rm -rf /var/lib/backup/backup.${DEST}
     mv /var/lib/backup/backup.${COUNTER} /var/lib/backup/backup.${DEST}
   fi
 fi

done

mkdir -p /var/lib/backup/backup.1 chmod 740 /var/lib/backup/backup.1

cd /var/lib/backup/backup.1

for DATABASE in ${DATABASES} do

 if [ -f /tmp/mysql-${DATABASE}.sql ]
 then
   mv /tmp/mysql-${DATABASE}.sql ${DATABASE}.sql
   gzip ${DATABASE}.sql
   chmod 640 ${DATABASE}.sql.gz
 fi

done

crontal

0 5 * * * /usr/bin/backup > /dev/null 2>&1