Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

Ina buƙatar yin madadin rukunin yanar gizon akan "2C-Bitrix: Gudanar da Yanar Gizo" (fiyiloli da bayanan mysql) sau biyu a rana kuma adana tarihin canje-canje na kwanaki 1.

Shafin yana kan VDS mai gudana CentOS 7 OS tare da 1C-Bitrix: An shigar da Muhalli na Yanar Gizo. Ƙari ga haka, yi kwafin saitunan OS ɗin ku.

Bukatun:

  • Mitar - sau 2 a rana;
  • Ajiye kwafi na kwanaki 90 na ƙarshe;
  • Ikon samun fayiloli guda ɗaya don takamaiman kwanan wata, idan ya cancanta;
  • Dole ne a adana ajiyar a cikin cibiyar bayanai ban da VDS;
  • Ikon samun damar wariyar ajiya daga ko'ina (wani uwar garken, kwamfutar gida, da sauransu).

Wani muhimmin batu shi ne ikon yin sauri don ƙirƙirar madogarawa tare da ƙarancin amfani da ƙarin sarari da albarkatun tsarin.

Wannan ba game da hoton hoto ba ne don maido da tsarin gaba ɗaya cikin sauri, amma game da fayiloli da bayanai da tarihin canje-canje.

Bayanan farko:

  • VDS akan haɓakawa na XEN;
  • OS CentOS 7;
  • 1C-Bitrix: Yanar Gizo;
  • Yanar Gizo dangane da "1C-Bitrix: Gudanar da Yanar Gizo", Daidaitaccen sigar;
  • Girman fayil shine 50 GB kuma zai girma;
  • Girman bayanan bayanai shine 3 GB kuma zai girma.

Nan da nan na cire daidaitaccen madadin da aka gina a cikin 1C-Bitrix. Ya dace da ƙananan shafuka kawai, saboda:

  • Yana yin cikakken kwafin rukunin yanar gizon kowane lokaci, don haka kowane kwafin zai ɗauki adadin sarari kamar yadda fayilolin ke ɗauka, a cikin akwati na 50 GB ne.
  • Ajiyayyen ana yin ta ta amfani da PHP, wanda ba zai yuwu ba tare da irin waɗannan kundin fayiloli, zai cika uwar garken kuma ba zai taɓa ƙarewa ba.
  • Kuma ba shakka, ba za a iya yin magana na kowane kwanaki 90 lokacin adana cikakken kwafin ba.

Maganin da mai ɗaukar hoto ya bayar shine faifan ajiyar ajiya wanda ke cikin cibiyar bayanai iri ɗaya da VDS, amma akan sabar daban. Kuna iya aiki tare da faifai ta hanyar FTP kuma kuyi amfani da rubutun ku, ko kuma idan an shigar da ISPManager akan VDS, sannan ta hanyar ajiyar ajiyar sa. Wannan zaɓin bai dace ba saboda amfani da cibiyar bayanai iri ɗaya.

Daga duk abubuwan da ke sama, mafi kyawun zaɓi a gare ni shine madadin haɓakawa ta amfani da rubutun kaina a cikin Yandex.Cloud (Ajiye Abun) ko Amazon S3 (Sabis ɗin Ma'aji Mai Sauƙi na Amazon).

Wannan yana buƙatar:

  • tushen damar zuwa VDS;
  • shigar duplicity mai amfani;
  • asusu a Yandex.Cloud.

Ajiyayyen ƙara - hanyar da kawai bayanan da suka canza tun lokacin da aka adana bayanan baya.

kwafi - mai amfani da ajiya wanda ke amfani da algorithms rsync kuma yana iya aiki tare da Amazon S3.

Yandex.Cloud vs Amazon S3

A wannan yanayin, babu bambanci tsakanin Yandex.Cloud da Amazon S3 a gare ni. Yandex yana goyan bayan mafi yawan Amazon S3 API, saboda haka zaku iya aiki tare da shi ta amfani da mafita waɗanda ke wanzu don aiki tare da S3. A cikin al'amurana, wannan shine abin amfani da duplicity.

Babban fa'idar Yandex na iya zama biyan kuɗi a cikin rubles; idan akwai bayanai da yawa, ba za a sami alaƙa da ƙimar musayar ba. Dangane da sauri, cibiyoyin bayanan Turai na Amazon suna aiki daidai da cibiyoyin bayanan Rasha a cikin Yandex; misali, zaku iya amfani da Frankfurt. A baya na yi amfani da Amazon S3 don irin wannan ayyuka, yanzu na yanke shawarar gwada Yandex.

Saita Yandex.Cloud

1. Kuna buƙatar ƙirƙirar asusun biyan kuɗi a cikin Yandex.Cloud. Don yin wannan, kuna buƙatar shiga Yandex.Cloud ta hanyar asusun Yandex ko ƙirƙirar sabo.

2. Ƙirƙiri "Cloud".
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

3. A cikin "Cloud" ƙirƙirar "Catalogue".
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

4. Don "Katalojin" ƙirƙirar "Asusun Sabis".
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

5. Ƙirƙiri maɓalli don "Asusun Sabis".
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

6. Ajiye maɓallan, za a buƙaci su nan gaba.
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

7. Don "Directory" ƙirƙirar "Bucket", fayiloli za su shiga ciki.
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

8. Ina ba da shawarar saita iyaka da zaɓi "Ajiya mai sanyi".
Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

Saita tanadin tanadi akan sabar

Wannan jagorar tana ɗaukar ƙwarewar gudanarwa na asali.

1. Shigar da kayan aikin kwafi akan VDS

yum install duplicity

2. Ƙirƙiri babban fayil don zubar da mysql, a cikin akwati na shine /backup_db a cikin tushen VDS

3. Ƙirƙiri babban fayil don rubutun bash / backup_scripts kuma yi rubutun farko wanda zai yi backups /backup_scripts/backup.sh

Abubuwan da ke cikin rubutun:

#!`which bash`


# /backup_scripts/backup.sh

# Это условие проверяет не идёт ли в данный момент процесс резервного копирования, если идёт, то на email отправляется сообщение об ошибке (этот блок можно не использовать)
if [ -f /home/backup_check.mark ];
then

DATE_TIME=`date +"%d.%m.%Y %T"`;

/usr/sbin/sendmail -t <<EOF
From:backup@$HOSTNAME
To:<Ваш EMAIL>
Subject:Error backup to YANDEX.CLOUD
Content-Type:text/plain; charset=utf-8
Error backup to YANDEX.CLOUD

$DATE_TIME
EOF

else

# Основной блок отвечающий за резервное копирование
# Если нет ощибки ставим метку и запускаем backup

echo '' > /home/backup_check.mark;


# Удаляем файлы с дампами базы оставшиеся от предыдущего backup

/bin/rm -f /backup_db/*


# Делаем дамп всех mysql баз, предполагается что доступ добавлен в файле /root/.my.cnf

DATETIME=`date +%Y-%m-%d_%H-%M-%S`;

`which mysqldump` --quote-names --all-databases | `which gzip` > /backup_db/DB_$DATETIME.sql.gz


# Добавляем данные для отправки в Яндекс.

export PASSPHRASE=<Придумайте пароль для шифрования архива>
export AWS_ACCESS_KEY_ID=<Идентификатор ключа полученный у Яндекса>
export AWS_SECRET_ACCESS_KEY=<Секретный ключ полученный у Яндекса>


# Запускаем duplicity для резервирования необходимых папок на сервере.
# Данная команда будет создавать полный backup раз в месяц и до следующего месяца добавлять инкрементальные к нему
# -- exclude это папки, которые нужно исключить, я исключаю все папки с кешем битрикса
# --include папки которые нужно резервировать в моём случае это:
# - /backup_db
# - /home
# - /etc
# s3://storage.yandexcloud.net/backup , backup это имя созданного выше бакета

# Техническая особенность и значения некоторых параметров:
# Две строки "--exclude='**'" и "/" нужны, чтобы можно было выше оперировать --include и --exclude для разных папок. Эти две строчки сначала добавляют в бэкап весь сервер "/", потом исключают его "--exclude='**'"
# --full-if-older-than='1M' - создавать полную копию каждый месяц
# --volsize='512' - максимальный размер каждого из файлов в бэкапе в мегабайтах
# --log-file='/var/log/duplicity.log' - куда писать лог файл

`which duplicity` 
    --s3-use-ia --s3-european-buckets 
    --s3-use-new-style 
    --s3-use-multiprocessing 
    --s3-multipart-chunk-size='128' 
    --volsize='512' 
    --no-print-statistics 
    --verbosity=0 
    --full-if-older-than='1M' 
    --log-file='/var/log/duplicity.log' 
    --exclude='**/www/bitrix/backup/**' 
    --exclude='**/www/bitrix/cache/**' 
    --exclude='**/www/bitrix/cache_image/**' 
    --exclude='**/www/bitrix/managed_cache/**' 
    --exclude='**/www/bitrix/managed_flags/**' 
    --exclude='**/www/bitrix/stack_cache/**' 
    --exclude='**/www/bitrix/html_pages/*/**' 
    --exclude='**/www/bitrix/tmp/**' 
    --exclude='**/www/upload/tmp/**' 
    --exclude='**/www/upload/resize_cache/**' 
    --include='/backup_db' 
    --include='/home' 
    --include='/etc' 
    --exclude='**' 
    / 
    s3://storage.yandexcloud.net/backup



# Данная команда нужна для чистки.
# Она оставляет 3 последних полных backup и ассоциированных с ними инкрементальных backup.
# Т.о. у меня остаются backup за 3 месяца, т.к. первая команда каждый месяц делает новый полный backup

`which duplicity` remove-all-but-n-full 3 --s3-use-ia --s3-european-buckets --s3-use-new-style --verbosity=0 --force s3://storage.yandexcloud.net/backup



unset PASSPHRASE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

# Удаляем метку об идущем backup

/bin/rm -f /home/backup_check.mark;

fi

4. Gudanar da rubutun a karon farko kuma duba sakamakon; fayiloli ya kamata su bayyana a cikin "Bucket".

`which bash` /backup_scripts/backup.sh

Ƙarfafa madadin VDS tare da rukunin yanar gizo akan 1C-Bitrix a cikin Yandex.Cloud

5. Ƙara rubutun zuwa cron don tushen mai amfani don gudanar da sau 2 a rana, ko tare da mitar da kuke buƙata.

10 4,16 * * * `which bash` /backup_scripts/backup.sh

Ana dawo da bayanai daga Yandex.Cloud

1. Yi babban fayil ɗin dawo da /backup_restore

2. Yi rubutun bash don dawo da /backup_scripts/restore.sh

Na ba da mafi mashahuri misali na maido da takamaiman fayil:

#!`which bash`

export PASSPHRASE=<Пароль для шифрования архива используемый при бэкапе>
export AWS_ACCESS_KEY_ID=<Идентификатор ключа полученный у Яндекса>
export AWS_SECRET_ACCESS_KEY=<Секретный ключ полученный у Яндекса>

# 3 примера, раскомментировать нужный

# Получить статус backup
#`which duplicity` collection-status s3://storage.yandexcloud.net/backup

# Восстановить index.php из корня сайта
#`which duplicity` --file-to-restore='home/bitrix/www/index.php' s3://storage.yandexcloud.net/backup /backup_restore/index.php

# Восстановить index.php из корня сайта 3х дневной давности
#`which duplicity` --time='3D' --file-to-restore='home/bitrix/www/index.php' s3://storage.yandexcloud.net/backup /backup_restore/index.php

unset PASSPHRASE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

3. Gudanar da rubutun kuma jira sakamakon.

`which bash` /backup_scripts/backup.sh

A cikin /backup_restore/ babban fayil za ku sami fayil ɗin index.php wanda aka adana a baya.

Kuna iya yin gyare-gyare masu kyau don dacewa da bukatunku.

Rage kwafi

duplicity yana da koma baya ɗaya - ba zai yiwu a saita iyakar amfani da tashar ba. Tare da tashar ta yau da kullun wannan baya haifar da matsala, amma lokacin amfani da tashar kariya ta DDoS tare da cajin sauri kowace rana, Ina so in iya saita iyaka na 1-2 megabits.

A matsayin ƙarshe

Ajiyayyen a cikin Yandex.Cloud ko Amazon S3 yana ba da kwafin rukunin yanar gizo mai zaman kansa da saitunan OS waɗanda za a iya shiga daga kowace uwar garken ko kwamfutar gida. Bugu da ƙari, wannan kwafin ba a iya gani ko dai a cikin rukunin kula da kulawa ko a cikin kwamitin gudanarwa na Bitrix, wanda ke ba da ƙarin tsaro.

A cikin mafi munin yanayi, zaku iya haɗa sabon uwar garken kuma tura rukunin yanar gizon a kowace rana. Kodayake aikin da ya fi shahara shine ikon samun damar fayil don takamaiman kwanan wata.

Kuna iya amfani da wannan fasaha tare da kowane VDS ko Sabis na sadaukarwa da shafuka akan kowane injuna, ba kawai 1C-Bitrix ba. Hakanan OS na iya zama wanin CentOS, kamar Ubuntu ko Debian.

source: www.habr.com

Add a comment