B’éigean dom cúltacaí a dhéanamh den suíomh ar “2C-Bitrix: Site Management” (comhaid agus bunachar sonraí mysql) dhá uair sa lá agus stair athruithe a stóráil ar feadh 1 lá.
Tá an suíomh suite ar VDS a ritheann CentOS 7 OS le 1C-Bitrix: Web Environment suiteáilte. Ina theannta sin, déan cóip chúltaca de do shocruithe OS.
Riachtanais:
- Minicíocht - 2 uair sa lá;
- Coinnigh cóipeanna le 90 lá anuas;
- An cumas comhaid aonair a fháil ar dháta faoi leith, más gá;
- Ní mór an cúltaca a stóráil i lárionad sonraí seachas VDS;
- An cumas rochtain a fháil ar an cúltaca ó áit ar bith (freastalaí eile, ríomhaire áitiúil, etc.).
Pointe tábhachtach ab ea an cumas cúltacaí a chruthú go tapa gan mórán úsáide a bhaint as spás breise agus acmhainní córais.
Ní bhaineann sé seo le pictiúr chun an córas iomlán a athchóiriú go tapa, ach maidir le comhaid agus an bunachar sonraí agus stair na n-athruithe.
Sonraí tosaigh:
- VDS ar fhíorúiliú XEN;
- OS CentOS 7;
- 1C-Bitrix: Timpeallacht Gréasáin;
- Suíomh Gréasáin bunaithe ar “1C-Bitrix: Site Management”, Leagan caighdeánach;
- Is é méid comhaid 50 GB agus fásfaidh sé;
- Is é méid an bhunachair sonraí ná 3 GB agus fásfaidh sé.
D'eisiaigh mé láithreach an cúltaca caighdeánach a tógadh isteach i 1C-Bitrix. Níl sé oiriúnach ach do shuímh bheaga, mar gheall ar:
- Déanann sé cóip iomlán den suíomh gach uair, mar sin glacfaidh gach cóip an méid céanna spáis agus a thógann na comhaid, is é mo chás féin é 50 GB.
- Déantar cúltaca ag baint úsáide as PHP, rud atá dodhéanta le méideanna comhaid den sórt sin, déanfaidh sé ró-ualach ar an bhfreastalaí agus ní chríochnóidh sé choíche.
- Agus ar ndóigh, ní féidir labhairt faoi aon 90 lá nuair a bhíonn cóip iomlán á stóráil.
An réiteach a thairgeann óstachIs diosca cúltaca é seo atá suite san ionad sonraí céanna leis an VDS, ach ar fhreastalaí difriúil. Is féidir leat rochtain a fháil ar an diosca trí FTP agus do scripteanna féin a úsáid, nó, má tá ISPManager suiteáilte ar an VDS, trína mhodúl cúltaca. Níl an rogha seo oiriúnach mar úsáideann sé an t-ionad sonraí céanna.
Ó gach ceann díobh thuas, is é an rogha is fearr dom ná cúltaca incriminteach ag baint úsáide as mo script féin i Yandex.Cloud (Object Storage) nó Amazon S3 (Amazon Simple Storage Service).
Éilíonn sé seo:
- rochtain fhréamh ar VDS;
- fóntais dúbailt suiteáilte;
- cuntas i Yandex.Cloud.
Cúltaca incriminteach — modh nach gcuirtear i gcartlann ach na sonraí a d'athraigh ón gcúltaca deiridh.
dúbailt — áirge cúltaca a úsáideann halgartaim rsync agus ar féidir leis oibriú le Amazon S3.
Yandex.Cloud vs Amazon S3
Sa chás seo, níl aon difríocht idir Yandex.Cloud agus Amazon S3 dom. Tacaíonn Yandex le formhór API Amazon S3, ionas gur féidir leat oibriú leis ag baint úsáide as na réitigh atá ann chun oibriú le S3. I mo chás, is é seo an áirgiúlacht dhúbailt.
B’fhéidir gurb é an príomhbhuntáiste a bhaineann le Yandex ná íocaíocht i rúbal; Maidir le luas, oibríonn ionaid sonraí Eorpacha Amazon atá inchomparáide le hionaid sonraí na Rúise i Yandex, mar shampla, is féidir leat Frankfurt a úsáid. Bhain mé úsáid as Amazon S3 roimhe seo le haghaidh tascanna den chineál céanna, anois chinn mé triail a bhaint as Yandex.
Yandex.Cloud a shocrú
1. Ní mór duit cuntas íocaíochta a chruthú in Yandex.Cloud. Chun seo a dhéanamh, ní mór duit logáil isteach i Yandex.Cloud trí do chuntas Yandex nó ceann nua a chruthú.
2. Cruthaigh "Cloud".

3. Sa “Cloud” cruthaigh “Catalóg”.

4. Don “Chatalóg” cruthaigh “Cuntas Seirbhíse”.

5. Cruthaigh eochracha don “Chuntas Seirbhíse”.

6. Sábháil na heochracha, beidh siad ag teastáil sa todhchaí.

7. Don “Eolaire” cruthaigh “Buicéad”, rachaidh comhaid isteach ann.

8. Molaim teorainn a shocrú agus “Stóráil Fuar” a roghnú.

Cúltacaí sceidealta a shocrú ar an bhfreastalaí
Glacann an treoir seo bunscileanna riaracháin.
1. Suiteáil an áirgiúlacht dhúbailte ar an VDS
yum install duplicity2. Cruthaigh fillteán le haghaidh dumpaí mysql, i mo chás is é /backup_db é sa fhréamh VDS
3. Cruthaigh fillteán le haghaidh scripteanna bash /backup_scripts agus déan an chéad script a dhéanfaidh cúltacaí /backup_scripts/backup.sh
Ábhar na scripte:
#!`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;
fi4. Rith an script den chéad uair agus seiceáil an toradh ba chóir go mbeadh comhaid le feiceáil sa "Buicéad".
`which bash` /backup_scripts/backup.sh
5. Cuir script le cron don úsáideoir fréimhe a reáchtáil 2 uair sa lá, nó leis an minicíocht atá uait.
10 4,16 * * * `which bash` /backup_scripts/backup.shSonraí a aisghabháil ó Yandex.Cloud
1. Déan fillteán athshlánaithe /backup_restore
2. Déan script bash le haghaidh aisghabháil /backup_scripts/restore.sh
Tugaim an sampla is coitianta maidir le comhad ar leith a athchóiriú:
#!`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_KEY3. Rith an script agus fan leis an toradh.
`which bash` /backup_scripts/backup.shSan fhillteán /backup_restore/ gheobhaidh tú an comhad index.php a raibh tacaíocht ann roimhe seo.
Is féidir leat coigeartuithe níos míne a dhéanamh chun freastal ar do chuid riachtanas.
Lúide dúbailt
tá míbhuntáiste amháin ag baint le dúbailt - ní féidir teorainn úsáide cainéal a shocrú. Le cainéal rialta ní chruthaíonn sé seo fadhb, ach nuair a úsáidtear cainéal cosanta DDoS le luasmhuirearú in aghaidh an lae, ba mhaith liom a bheith in ann teorainn 1-2 mheigeavata a shocrú.
Mar chonclúid
Trí chúltaca a dhéanamh chuig Yandex.Cloud nó Amazon S3, is féidir rochtain a fháil ar chóip neamhspleách de do shuíomh Gréasáin agus de shocruithe OS ó aon fhreastalaí nó ríomhaire áitiúil eile. Níl an chóip seo le feiceáil ag aon duine. painéil rialaithe óstáil, ná i bpainéal riaracháin Bitrix, a sholáthraíonn slándáil bhreise.
Sa chás is measa, is féidir leat freastalaí nua a chur le chéile agus an suíomh a imscaradh ag aon dáta. Cé go mbeidh an fheidhmiúlacht is mó tóir ar an gcumas rochtain a fháil ar chomhad ar dháta ar leith.
Is féidir leat an teicníc seo a úsáid le haon VDS nó freastalaithe Tiomnaithe agus láithreáin ar aon innill, ní hamháin 1C-Bitrix. Féadfaidh an OS a bheith chomh maith seachas CentOS, mar shampla Ubuntu nó Debian.
Foinse: will.com
