Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

Na ou manaʻomia le faia o faʻamaumauga o le saite 2 taimi i le aso i luga o le "1C-Bitrix: Site Management" (faila ma mysql database) ma teu se talaʻaga o suiga mo le 90 aso.

O lo'o iai le 'upega tafa'ilagi i luga o le VDS o lo'o fa'aogaina CentOS 7 OS fa'atasi ma le 1C-Bitrix: Fa'apipi'i le Si'osi'omaga i luga ole laiga. E le gata i lea, fai se kopi faaleoleo o au faatulagaga OS.

Manaoga:

  • Fa'atele - 2 taimi i le aso;
  • Taofi kopi mo le 90 aso mulimuli;
  • Le mafai ona maua faila taʻitasi mo se aso faʻapitoa, pe a manaʻomia;
  • E tatau ona teuina le faaleoleo i se nofoaga autu o faamatalaga e ese mai i le VDS;
  • Le mafai ona maua le faʻamaumauga mai soʻo se mea (isi server, komepiuta i le lotoifale, ma isi).

O se itu taua o le mafai lea ona vave faia faʻamaumauga faʻatasi ma le faʻaaogaina itiiti o avanoa faaopoopo ma punaoa faʻaoga.

E leʻo faʻatatau i se puʻupuʻu mo le toe faʻaleleia vave o le polokalama atoa, ae e uiga i faila ma le database ma le talaʻaga o suiga.

Uiga muamua:

  • VDS ile XEN virtualization;
  • OS CentOS 7;
  • 1C-Bitrix: Siosiomaga i luga ole laiga;
  • Upega tafaʻilagi faʻavae i luga o le "1C-Bitrix: Site Management", Tulaga masani;
  • Ole tele ole faila ole 50 GB ma o le a tupu;
  • Ole tele ole database ole 3 GB ma o le a tupu.

Na vave ona ou le aofia ai le faʻamaumauga masani na fausia ile 1C-Bitrix. E talafeagai mo na o nofoaga laiti, aua:

  • E faia ai se kopi atoa o le saite i taimi uma, o lea o kopi taitasi o le a ave tutusa le tele o avanoa e pei ona ave e faila, i loʻu tulaga o le 50 GB.
  • E fai le fa'amaumauga e fa'aaoga ai le PHP, lea e le mafai i ia voluma o faila, o le a sili atu le mamafa o le 'au'aunaga ma e le uma lava.
  • Ma o le mea moni, e leai se tautalaga o soʻo se 90 aso pe a teuina se kopi atoa.

O le fofo o loʻo ofoina mai e le tagata faʻafeiloaʻi o se tisiki faʻapipiʻi o loʻo i totonu o le nofoaga autu o faʻamaumauga e pei o le VDS, ae i luga o se isi server. E mafai ona e galue ma le tisiki e ala i le FTP ma faʻaaoga au lava tusitusiga, pe afai o loʻo faʻapipiʻi le ISPManager i luga o le VDS, ona faʻaogaina lea o lana module faʻapipiʻi. O lenei filifiliga e le talafeagai ona o le faʻaogaina o le nofoaga autu o faʻamatalaga tutusa.

Mai mea uma o loʻo i luga, o le filifiliga sili mo aʻu o se faʻaopoopoga faʻaopoopo e faʻaaoga ai laʻu lava tusitusiga i le Yandex.Cloud (Object Storage) poʻo le Amazon S3 (Amazon Simple Storage Service).

E manaʻomia lenei mea:

  • avanoa a'a ile VDS;
  • fa'apipi'i fa'aoga fa'alua;
  • tala i Yandex.Cloud.

Fa'aola fa'aopoopo - o se auala e na'o fa'amaumauga na suia talu mai le fa'amaumauga mulimuli e teu ai.

faʻaogalua - o se faʻaoga faʻaoga e faʻaaoga ai rsync algorithms ma e mafai ona galue ma Amazon S3.

Yandex.Cloud vs Amazon S3

I lenei tulaga, e leai se eseesega i le va o Yandex.Cloud ma Amazon S3 mo aʻu. E lagolagoina e Yandex le tele o le Amazon S3 API, o lea e mafai ai ona e galue faʻatasi ma le faʻaaogaina o fofo o loʻo i ai mo le galue ma le S3. I loʻu tulaga, o le faʻaoga faʻalua lea.

O le aoga autu o Yandex atonu o le totogiina i rubles; afai e tele faʻamatalaga, o le a leai se fesoʻotaʻiga i le fesuiaiga o tupe. I tulaga o le saoasaoa, Amazon's European data centers e galulue faʻatusatusa i nofoaga autu o faʻamaumauga a Rusia i Yandex; mo se faʻataʻitaʻiga, e mafai ona e faʻaogaina Frankfurt. Na ou faʻaaogaina muamua le Amazon S3 mo galuega faʻapena, o lea na ou filifili e faʻataʻitaʻi Yandex.

Fa'atulaga Yandex.Cloud

1. E te manaʻomia le fatuina o se teugatupe totogi ile Yandex.Cloud. Ina ia faia lenei mea, e tatau ona e saini i le Yandex.Cloud e ala i lau Yandex account pe fatuina se mea fou.

2. Fausia se "Cloud".
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

3. I le "Cloud" fatuina se "Catalogue".
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

4. Mo le "Catalogue" fausia se "Teugatupe Auaunaga".
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

5. Fausia ki mo le "Service Account".
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

6. Faasaoina ki, o le a manaomia i le lumanai.
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

7. Mo le "Directory" fatuina se "Pakete", faila o le a alu i totonu.
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

8. Ou te fautuaina le setiina o se tapulaa ma filifili le "Cold Storage".
Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

Fa'atulagaina o fa'amaumauga fa'atulagaina i luga ole server

O lenei ta'iala e fa'atatau i tomai fa'apitoa tau pulega.

1. Fa'apipi'i le fa'aoga fa'alua ile VDS

yum install duplicity

2. Fausia se faila mo mysql dumps, i loʻu tulaga o /backup_db i le VDS root

3. Fausia se faila mo bash scripts /backup_scripts ma fai le tusitusiga muamua o le a faia faʻamaumauga /backup_scripts/backup.sh

Fa'amatalaga o lo'o i totonu:

#!`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. Fa'agasolo le fa'amaumauga mo le taimi muamua ma siaki le taunu'uga, e tatau ona fa'aalia faila i le "Pakete".

`which bash` /backup_scripts/backup.sh

Fa'aopoopo VDS fa'amaumauga ma se saite ile 1C-Bitrix ile Yandex.Cloud

5. Fa'aopoopo se tusitusiga i le cron mo le tagata fa'aoga a'a e tamo'e 2 taimi i le aso, po'o le taimi e te mana'omia.

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

Toe maua mai faʻamatalaga mai Yandex.Cloud

1. Fai se faila toe faʻaleleia /backup_restore

2. Faia se tala bash mo le toe faʻaleleia /backup_scripts/restore.sh

Ou te tuʻuina atu le faʻataʻitaʻiga sili ona lauiloa o le toe faʻaleleia o se faila patino:

#!`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. Fa'asolo le tusitusiga ma fa'atali mo le taunu'uga.

`which bash` /backup_scripts/backup.sh

I totonu o le /backup_restore/ folder o le ae maua ai le index.php faila lea sa lagolagoina muamua.

E mafai ona e faia ni fetuunaiga sili atu e fetaui ma ou manaʻoga.

To'ese le faaluaina

e tasi le fa'aletonu o le fa'aluaina - e le mafai ona fa'atulagaina se tapula'a fa'aoga. Faatasi ai ma se auala masani e le tupu ai se faʻafitauli, ae a faʻaaogaina se auala puipuia DDoS faʻatasi ai ma le saoasaoa o le totogi i le aso, ou te manaʻo e mafai ona seti se tapulaa o 1-2 megabits.

O se faaiuga

Backup i Yandex.Cloud poʻo Amazon S3 e maua ai se kopi tutoʻatasi o le saite ma le OS faʻatulagaina e mafai ona maua mai soʻo se isi server poʻo komepiuta i le lotoifale. E le gata i lea, o lenei kopi e le o vaʻaia i totonu o le faʻasalalauga faʻasalalauga poʻo le Bitrix admin panel, lea e maua ai le puipuiga faaopoopo.

I le tulaga sili ona leaga, e mafai ona e faʻapipiʻi se server fou ma faʻapipiʻi le saite i soo se aso. E ui o le galuega sili ona lauiloa o le mafai lea ona maua se faila mo se aso patino.

E mafai ona e faʻaogaina lenei metotia i soʻo se VDS poʻo Dedicated servers ma nofoaga i luga o soʻo se afi, ae le naʻo le 1C-Bitrix. Ole OS atonu e ese mai CentOS, pei ole Ubuntu poʻo Debian.

puna: www.habr.com

Faaopoopo i ai se faamatalaga