synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяBackup/Restore › Backup в облачное хранилище

Backup в облачное хранилище

Smoke74 · 02.02.2018

Бакап общих папок на внешний жесткий диск это безусловно хорошо. Но хотелось бы что-то более надежное. Волею случая имею порядка 400Gb на Яндекс-Диске, почему бы этим и не воспользоваться? Итак пишем скрипт backup.sh

Забегая вперед - параметры вызова скрипта: backup.sh параметр1 параметр2 где

параметр1 - (обязательный параметр) папка общего доступа;

параметр2 - подпапка первого параметра, не обязательный параметр

 

Порядок действий:

1)Устанавливаем и настраиваем CloudSync

2) Создаем скрипт со следующим содержимым:

 

#!/bin/ash

 

if ! [ -n "$1" ]; then

echo "No parameters found. "

exit

fi

 

TO='/volume1/YAD/ARC' #пака для архивирования, синхронизирующаяся с облачным сервисом

WEB='/volume1/web' #каталог с сайтами

PHOTO='/volume1/photo' #каталог фотостанции

SQL='пароль_рута_BD'

PASS='пароль_на_ZIP_архив'

 

if [ $1 = "photo" ]; then

echo "Start backup photo"

if [ -d $PHOTO/$2/ ] | [ -n "$2" ]

then

PHOTO=$PHOTO/$2

TO=$TO/photo

fi

rsync -avP --delete --exclude @eaDir/ --exclude "Thumbs.db" $PHOTO $TO

exit

fi

 

#здесь предполагается, что ВСЕ сайты распределены по подкаталогам директории web (т.е. на виртуальных хостах), а имя базы данных равно его подкаталогу, если у вас не так - стоит пофантазировать

if [ $1 = "web" ]; then

echo "Start backup WWW"

if [ -d $WEB/$2/ ] | [ -n "$2" ]

then

dir=$2

rm $WEB/$dir/*.sql

rm $TO/web/$dir.zip

mysqldump -hlocalhost -uroot -p$SQL --default-character-set=utf8 -N $dir > $WEB/$dir/$dir.sql

zip -P $PASS -r -5 $TO/web/$dir.zip $WEB/$dir/ -x "*/@eaDir/*" -x "*Thumbs.db*"

exit

fi

 

rm $TO/web/*.sql

mysqldump -hlocalhost -uroot -p$SQL --default-character-set=utf8 -A > $TO/web/databases.sql #дамп всех баз

for dir in `ls -F1 $WEB/ | grep -e ./ | tr -d \/`

do

if [ -f $WEB/$dir/nobackup.txt ] || [ $dir = '@eaDir' ] #если в каталоге присутствует файл "nobackup.txt" не архивируем его

then

continue

fi

 

rm $WEB/$dir/*.sql

rm $TO/web/$dir.zip

mysqldump -hlocalhost -uroot -p$SQL --default-character-set=utf8 -N $dir > $WEB/$dir/$dir.sql #дамп конкретной базы

zip -P $PASS -r -5 $TO/web/$dir.zip $WEB/$dir/ -x "*/@eaDir/*" -x "*Thumbs.db*"

done

exit

fi

 

arc=$1.zip

dir=/volume1/$1

if [ -d $dir/ ]; then

if [ -d $dir/$2/ ] | [ -n "$2" ]

then

dir=/volume1/$1/$2

arc=$2.zip

fi

 

echo "Start backup directory "$dir

if [ -f $TO/$arc ]; then

rm $TO/$arc

fi

zip -P $PASS -r -5 $TO/$arc $dir/ -x "*/@eaDir/*" -x "*Thumbs.db*"

fi

Понятно что volume1 можно заменить на любой другой смонтированный раздел

 

3) выставляем права на скрипт

chmod +x backup.sh

 

Пример вызова скрипта:

DS> /volume1/homes/admin/backup.sh photo 2014

 

Kagalar · 15.03.2018

Вот подборка с облачными сервисами, возможно кому пригодится

Diman4ik · 04.11.2018
Вот подборка с облачными сервисами, возможно кому пригодится

Яндекс Диск- по-моему самый популярный.

arkol · 04.11.2018

Давно уже бэкаплю на байду, но слюни конечно текут на маил с его 1 Тб...и скоростью по России.

Фикс · 08.11.2018
Давно уже бэкаплю на байду, но слюни конечно текут на маил с его 1 Тб...и скоростью по России.

тоже туда резервирую. медленно, но надёжно, и объёмы конские.

le_ · 03.12.2018

А как вы в байду копируетесь? Там есть WebDav?

glemag · 04.12.2018

Являюсь пользователем таких облачных сервисов как YD, Backblaze, Yandex Cloud, Cloud Mail(1TB+webdav).

 

На каждый сервис написал отдельные скрипты в cron. С последним мучаюсь, подробно написано вот тут

 

UPD: MailRu побежден. Учитывая свою геолокацию, скорость передачи, годовую цену и 1ТБ - остаюсь пока на нем.

arkol · 05.12.2018

 

UPD: MailRu побежден. Учитывая свою геолокацию, скорость передачи, годовую цену и 1ТБ - остаюсь пока на нем.

Подскажите еще вот такой момент. Если к бесплатному 1TB докупить самый дешевый тариф с webdav, то будет 1Tb+64Gb и webdav заработает штатно?

 

glemag · 05.12.2018
UPD: MailRu побежден. Учитывая свою геолокацию, скорость передачи, годовую цену и 1ТБ - остаюсь пока на нем.

 

Подскажите еще вот такой момент. Если к бесплатному 1TB докупить самый дешевый тариф с webdav, то будет 1Tb+64Gb и webdav заработает штатно?

 

Будет, я просто докупил 64Гб(минимальный) - все работает по webdav.

 

arkol · 05.12.2018
Будет, я просто докупил 64Гб(минимальный) - все работает по webdav.

Сейчас глянул цены, не понял. Два тарифа +64 GB, за 345 и 749 в год.

Опции вроде одни....

glemag · 05.12.2018
Сейчас глянул цены, не понял. Два тарифа +64 GB, за 345 и 749 в год.

Опции вроде одни....

 

Там скидка идет 24 часа на Облако, берите за 345.

arkol · 05.12.2018
Там скидка идет 24 часа на Облако, берите за 345.

Оплатил, буду пробовать штаткой бэкапить в облако.

glemag · 05.12.2018
Оплатил, буду пробовать штаткой бэкапить в облако.

 

Если не получится - пишите в личку, буду рад помочь.

 

arkol · 06.12.2018

1. Подключил в проводник, папки создаются, файлы не добавляются, копирование происходит но файла нет.

2. Hyper Backup подключил удачно, каталоги видит, при создании backupa выдает ошибку (некие файлики появляются)

 

Похоже штатные средства работать правильно с данным облаком через webdav не будут.

polanat · 09.12.2018
Если не получится - пишите в личку, буду рад помочь.

Ну зачем же сразу в личку - накопленный опыт (особенно методом своих проб и ошибок) бесценен и достоин всеобщего обозрения ...

arkol · 11.12.2018

Synology cloud sync через webdav с облаком mail работает правильно, скорость 100.

Тарифа 1TB free + 64 GB за 345 руб.

NUke · 13.12.2018

А разве без покупки уже имеющийся 1ТБ не дает права юзать WebDav ?

polanat · 14.12.2018
А разве без покупки уже имеющийся 1ТБ не дает права юзать WebDav ?

Получается, что так!