Backup owncloud
Ir a la navegación
Ir a la búsqueda
Scrip de backup
- !/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