Бэкап Bash (Rsync, Tar)

Автор: Admin

Дата:2013-03-20

Давайте немного познакомимся с тем как можно применять скрипты Bash в таком деле как бэкап данных.

Это не супер навороченные скрипты и много чего не умеют, но с достаточно простой и повседневной ситуацией вполне справятся.

1) Вариант.

Достаточно простой и примитивный способ, но на самом деле в большинстве случаев для не больших бэкапов его достаточно и не стоит городить что-то еще.

# vi tar.sh

#!/bin/bash
# Будет подставляться дата архива
DATE=`date +%m%d%Y`
# Это имя архива с датой
file=arch_from_$DATE.tar.gz
# То, что необходимо бэкапить
src="/var/ftp/pub/ /var/ftp/uploads/"

# Куда бэкапить
dst=/backup/tmp/$file
# А это само действие для бэкапа
tar -czf $dst $src 2> /dev/null

2) Вариант

Второй вариант показывает нам как применять цикл FOR.
Цикл For позволяет обрабатывать данные до тех пор пока не будут выполнены все условия, в данном случае обработаны все каталоги

С применением Rsync

# vi for.sh
#!/bin/bash
src="/var/ftp/pub /var/ftp/uploads"
dst=/backup/tmp/for/
for prm in $src
do
     if [ -e "$prm" ]
     then
        
rsync -avz $prm $dst
     else
        echo "$prm файл не существует"
     fi
done


С применением Tar

# vi for2.sh
#!/bin/bash
file=2.tar.gz
src="/var/ftp/pub /var/ftp/uploads"
dst=/backup/tmp/for/$file
for prm in "$src"
do
        echo "$prm"
tar -czf $dst $prm 2>/dev/null
done

Количество просмотров: 2076

Комментарии к статье:

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2017