Как стать автором
Обновить

Бэкап на linux

Чулан
В один прекрасный день мне понадобился скрипт бэкапов. Рассматривал большое количество различных вариантов. Многие не устроили по причине громоздкости. В итоге я написал свой скрипт :)

Для бэкапа сайтов на веб-сервере — очень полезно и просто :) Пожелания по улучшению — приветствуются



#!/bin/bash
PATH_TO_ADIR="/var/www" # бэкапим все в этом каталоге
PATH_TO_BDIR="/var/backup" #сюда складываем бэкап
BACKDAYS="5" #сколько дней храним бэкапы

# создаем директорию, если такой не существует
if [ ! -d "$PATH_TO_BDIR/$(date +%Y-%m-%d)" ]; then
mkdir $PATH_TO_BDIR/$(date +%Y-%m-%d)
fi

# тут мы бэкапим данные
for file in $( /bin/ls $PATH_TO_ADIR);
do
/usr/bin/nice -n 5 tar zcfP $PATH_TO_BDIR/$(date +%Y-%m-%d)/$file-SITE-$(date +%Y-%m-%d).tgz $PATH_TO_ADIR/$file
done

DATM=`/bin/date -d '-'$BACKDAYS' day' +%Y%m%d`
NOW=`/bin/date +%Y%m%d`
DATH=`/bin/date --date="$i" +%Y%m%d`

# а тут мы удаляем старые бэкапы
for i in `ls $PATH_TO_BDIR/ | awk '{print $1}'`
do
if [ $DATH -le $DATM ];then
/bin/rm -Rf $PATH_TO_BDIR/$i
fi
done


Теперь добавляем задание в крон и выполняем его ежедневно, например в 3 часа ночи.
Теги:бэкапскриптbackuplinux bash scripts
Хабы: Чулан
Всего голосов 18: ↑7 и ↓11 -4
Просмотры826

Похожие публикации

SUSE Linux Enterprise Server 15 - Администрирование
5 июля 202150 000 ₽Сетевая Академия ЛАНИТ
SUSE Linux Enterprise Server 15 - Продвинутое администрирование
12 июля 202150 000 ₽Сетевая Академия ЛАНИТ
Веб-дизайнер
28 июня 202183 000 ₽GeekBrains
Node.js: серверный JavaScript
28 июня 202127 000 ₽Loftschool
Основы вёрстки сайтов
28 июня 202120 000 ₽Loftschool

Лучшие публикации за сутки