Сегодня 13 июля, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Бэкап на NAS Synology через rsync

2012-11-04 16:25:33 (читать в оригинале)

Понадобилось организовать регулярный бэкап в локальной сети через rsync. Так как уже имеется NAS Synology DS212+, буду использовать его.

Источников данных несколько. Пусть это будут сайты. Для каждого необходимо взять файлы и дамп базы.

Настройка NAS

  • Control panel -> Network Backup -> Enable network backup service.
  • Создаём нового пользователя Control panel -> Users -> Create.
  • Имя обязательно должно быть rsync, группа users, права на чтение/запись шары NetBackup и разрешение использовать Network Backup.

Особенности

  1. Synology создаёт одну шару NetBackup как модуль rsync. Других по умолчанию нет.
  2. По умолчанию можно использовать либо пользователя admin, что не очень безопасно, либо создать пользователя rsync. Именно с таким именем.
  3. Указывать наш NAS rsync-у будем в виде rsync@nas.ip::NetBackup/.

Linux

Напишем скриптик и поставим на крон.

#!/bin/bash
export RSYNC_PASSWORD=your_rsync_user_password
 
backupServer=rsync@nas.ip::NetBackup/
currentDate=`date +%F`
currentMonth=`date +%Y-%m`
rsyncTmp=/tmp/rsync/
rsyncMkdir=${rsyncTmp}mkdir/
rsyncDB=${rsyncTmp}db/
 
# логин-пароль рута mysql
dbusername=root
dbpassword=mysql_root_password
 
# rsync не умеет создавать директории. Немного извернёмся.
#
# rsync_mkdir relative/path destinationPath
rsync_mkdir ()
{
  mkdir -p ${rsyncMkdir}$1
  rsync -v --archive --compress --progress ${rsyncMkdir} $2
  rm -R ${rsyncMkdir}
}
 
# Делаем дамп БД, сжимаем, отсылаем на NAS.
#
# rsync_db dbname destinationPath
rsync_db ()
{
  mkdir -p ${rsyncDB}
  mysqldump -u $dbusername --password=$dbpassword $1 | gzip -9 > ${rsyncDB}${1}_${currentDate}.sql.gz;
  rsync -v --archive --compress --progress --partial ${rsyncDB} $2
  rm -R ${rsyncDB}
}
 
# Отсылаем всю директорию на NAS.
#
# --delete-after --force после завершения копирования удаляет на NAS всё, чего
# больше нет в исходнике.
# --partial позволяет докачивать прерванные загрузки. Полезно, если соединение не очень.
# --compress жать перед отправкой, разжимать на NAS.
# --archive сохраняем атрибуты файлов.
# -v --progress показываем прогресс загрузки и другие сообщения.
#
# backupdir sourcePath destinationPath
backupdir ()
{
  rsync -v --archive --compress --progress --delete-after --force --partial $1 $2
}
 
### example.com ###
 
backupdir=example.com/
backupdirMonth=${backupdir}${currentMonth}/
 
rsync_mkdir ${backupdirMonth} ${backupServer}
rsync_db example_com1 ${backupServer}/${backupdir}
rsync_db example_com2 ${backupServer}/${backupdir}
rsync_dir /var/www/example.com/ ${backupServer}/${backupdirMonth}

Windows

Под Windows я попробовал DeltaCopy. Бесплатная, работает. Настраивается вот так.




 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.