Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

Mo nilo lati ṣe awọn afẹyinti ti aaye naa lori “2C-Bitrix: Isakoso Aye” (awọn faili ati data mysql) lẹmeji ọjọ kan ati tọju itan-akọọlẹ awọn ayipada fun awọn ọjọ 1.

Aaye naa wa lori VDS ti nṣiṣẹ CentOS 7 OS pẹlu 1C-Bitrix: Ayika wẹẹbu ti fi sori ẹrọ. Ni afikun, ṣe ẹda afẹyinti ti awọn eto OS rẹ.

Awọn ibeere:

  • Igbohunsafẹfẹ - 2 igba ọjọ kan;
  • Tọju awọn ẹda fun awọn ọjọ 90 kẹhin;
  • Agbara lati gba awọn faili kọọkan fun ọjọ kan pato, ti o ba jẹ dandan;
  • Afẹyinti gbọdọ wa ni ipamọ ni ile-iṣẹ data miiran yatọ si VDS;
  • Agbara lati wọle si afẹyinti lati ibikibi (olupin miiran, kọnputa agbegbe, bbl).

Ojuami pataki kan ni agbara lati yara ṣẹda awọn afẹyinti pẹlu lilo kekere ti aaye afikun ati awọn orisun eto.

Eyi kii ṣe nipa aworan kan fun mimu-pada sipo gbogbo eto ni kiakia, ṣugbọn nipa awọn faili ati ibi ipamọ data ati itan-akọọlẹ awọn ayipada.

Orisun orisun:

  • VDS lori agbara XEN;
  • OS CentOS 7;
  • 1C-Bitrix: Ayelujara ayika;
  • Oju opo wẹẹbu ti o da lori “1C-Bitrix: Isakoso Aye”, Ẹya Standard;
  • Iwọn faili jẹ 50 GB ati pe yoo dagba;
  • Iwọn data data jẹ 3 GB ati pe yoo dagba.

Mo yọkuro lẹsẹkẹsẹ afẹyinti boṣewa ti a ṣe sinu 1C-Bitrix. O dara nikan fun awọn aaye kekere, nitori:

  • O ṣe ẹda kikun ti aaye naa ni gbogbo igba, nitorinaa ẹda kọọkan yoo gba iye aaye kanna bi awọn faili ṣe gba, ninu ọran mi o jẹ 50 GB.
  • A ṣe afẹyinti ni lilo PHP, eyiti ko ṣee ṣe pẹlu iru awọn iwọn ti awọn faili, yoo ṣe apọju olupin naa kii yoo pari.
  • Ati pe dajudaju, ko le si ọrọ ti eyikeyi 90 ọjọ nigbati o ba tọju ẹda kikun kan.

Ojutu ti o funni olùgbàlejòDíìsì àfikún ni èyí tó wà ní ibi ìpamọ́ dátà kan náà gẹ́gẹ́ bí VDS, ṣùgbọ́n lórí olupin mìíràn. O lè wọ inú díìsì náà nípasẹ̀ FTP kí o sì lo àwọn ìwé àkọsílẹ̀ tìrẹ, tàbí, tí a bá fi ISPManager sori VDS, nípasẹ̀ módù àfikún rẹ̀. Àṣàyàn yìí kò yẹ nítorí pé ó ń lo ibi ìpamọ́ dátà kan náà.

Lati gbogbo awọn ti o wa loke, aṣayan ti o dara julọ fun mi jẹ afẹyinti afikun nipa lilo iwe afọwọkọ ti ara mi ni Yandex.Cloud (Ibi ipamọ Nkan) tabi Amazon S3 (Iṣẹ Ibi ipamọ ti o rọrun Amazon).

Eyi nilo:

  • wiwọle root si VDS;
  • ti fi sori ẹrọ duplicity IwUlO;
  • iroyin ni Yandex.Cloud.

Afẹyinti afikun - ọna kan ninu eyiti data nikan ti o ti yipada lati igba afẹyinti ti o kẹhin ti wa ni ipamọ.

kikọsilẹ - IwUlO afẹyinti ti o nlo awọn algoridimu rsync ati pe o le ṣiṣẹ pẹlu Amazon S3.

Yandex.Cloud vs Amazon S3

Ni idi eyi, ko si iyatọ laarin Yandex.Cloud ati Amazon S3 fun mi. Yandex ṣe atilẹyin pupọ julọ ti Amazon S3 API, nitorinaa o le ṣiṣẹ pẹlu rẹ nipa lilo awọn solusan ti o wa fun ṣiṣẹ pẹlu S3. Ninu ọran mi, eyi ni ohun elo ilopo.

Awọn anfani akọkọ ti Yandex le jẹ sisan ni awọn rubles ti o ba wa ni ọpọlọpọ awọn data, kii yoo ni asopọ si oṣuwọn paṣipaarọ. Ni awọn ofin ti iyara, awọn ile-iṣẹ data European ti Amazon n ṣiṣẹ ni afiwe si awọn ile-iṣẹ data Russia ni Yandex, fun apẹẹrẹ, o le lo Frankfurt. Mo ti lo Amazon S3 tẹlẹ fun awọn iṣẹ ṣiṣe kanna, bayi Mo pinnu lati gbiyanju Yandex.

Ṣiṣeto Yandex.Cloud

1. O nilo lati ṣẹda iroyin isanwo ni Yandex.Cloud. Lati ṣe eyi, o nilo lati wọle si Yandex.Cloud nipasẹ akọọlẹ Yandex rẹ tabi ṣẹda tuntun kan.

2. Ṣẹda a "awọsanma".
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

3. Ninu “awọsanma” ṣẹda “Katalogi”.
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

4. Fun "Katalogi" ṣẹda "Akọọlẹ Iṣẹ".
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

5. Ṣẹda awọn bọtini fun "Akọọlẹ Iṣẹ".
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

6. Fipamọ awọn bọtini, wọn yoo nilo ni ọjọ iwaju.
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

7. Fun "Itọsọna" ṣẹda "Bucket", awọn faili yoo lọ sinu rẹ.
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

8. Mo ṣeduro ṣeto opin ati yiyan “Ibi ipamọ tutu”.
Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

Ṣiṣeto awọn afẹyinti eto lori olupin naa

Itọsọna yii dawọle awọn ọgbọn iṣakoso ipilẹ.

1. Fi sori ẹrọ ohun elo duplicity lori VDS

yum install duplicity

2. Ṣẹda folda kan fun idalenu mysql, ninu ọran mi o jẹ /backup_db ninu gbongbo VDS

3. Ṣẹda folda fun awọn iwe afọwọkọ bash / backup_scripts ati ṣe iwe afọwọkọ akọkọ ti yoo ṣe awọn afẹyinti /backup_scripts/backup.sh

Awọn akoonu inu iwe afọwọkọ:

#!`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. Ṣiṣe awọn iwe afọwọkọ fun igba akọkọ ati ṣayẹwo abajade;

`which bash` /backup_scripts/backup.sh

Afẹyinti VDS ti o pọ si pẹlu oju opo wẹẹbu kan lori 1C-Bitrix ni Yandex.Cloud

5. Ṣafikun iwe afọwọkọ kan si cron fun olumulo root lati ṣiṣẹ ni igba 2 ni ọjọ kan, tabi pẹlu igbohunsafẹfẹ ti o nilo.

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

Bọsipọ data lati Yandex.Cloud

1. Ṣe folda imularada /backup_restore

2. Ṣe iwe afọwọkọ bash fun imularada /backup_scripts/restore.sh

Mo fun apẹẹrẹ olokiki julọ ti mimu-pada sipo faili kan pato:

#!`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. Ṣiṣe awọn iwe afọwọkọ ati ki o duro fun esi.

`which bash` /backup_scripts/backup.sh

Ninu folda /backup_restore/ iwọ yoo wa faili index.php ti o ti ṣe afẹyinti tẹlẹ.

O le ṣe awọn atunṣe to dara julọ lati baamu awọn iwulo rẹ.

Iyokuro išẹpo

duplicity ni o ni ọkan drawback - o jẹ ko ṣee ṣe lati ṣeto kan ikanni lilo iye to. Pẹlu ikanni deede eyi ko ṣẹda iṣoro kan, ṣugbọn nigba lilo ikanni idaabobo DDoS pẹlu gbigba agbara iyara fun ọjọ kan, Emi yoo fẹ lati ni anfani lati ṣeto opin ti 1-2 megabits.

Bi ipari

Fífi àtìlẹ́yìn sí Yandex.Cloud tàbí Amazon S3 ń fúnni ní ẹ̀dà kan tí ó dá dúró ti ojú òpó wẹ́ẹ̀bù àti ètò OS rẹ tí a lè lò láti ọ̀dọ̀ olupin mìíràn tàbí kọ̀ǹpútà agbègbè. Kò sí ẹnikẹ́ni tí ó lè rí ẹ̀dà yìí. Iṣakoso paneli gbigbalejo, tabi ninu igbimọ abojuto Bitrix, eyiti o pese aabo afikun.

Ninu iṣẹlẹ ti o buruju, o le ṣajọ olupin tuntun kan ki o ran aaye naa ṣiṣẹ ni eyikeyi ọjọ. Botilẹjẹpe iṣẹ ṣiṣe olokiki julọ yoo jẹ agbara lati wọle si faili kan fun ọjọ kan pato.

O le lo ilana yii pẹlu eyikeyi VDS tabi awọn olupin ifiṣootọ ati awọn aaye lori eyikeyi awọn ẹrọ, kii ṣe 1C-Bitrix nikan. OS le tun jẹ miiran ju CentOS, gẹgẹbi Ubuntu tabi Debian.

orisun: www.habr.com