He mea tika ki ahau ki te tārua i te pae ki 2C-Bitrix: Whakahaere Pae 1 nga wa ia ra (nga konae me te mysql pātengi raraunga) me te penapena i nga hitori o nga huringa mo nga ra 90.
Ko te waahi kei runga i te VDS e whakahaere ana i te CentOS 7 me te "1C-Bitrix: Taiao Tukutuku" kua whakauruhia. I tua atu, hanga he kape taapiri o nga tautuhinga OS.
Whakaritenga:
- Auautanga - 2 wa ia ra;
- Puritia nga kape mo nga ra 90 kua hipa;
- Te kaha ki te tiki i nga konae takitahi mo te ra motuhake, mena e tika ana;
- Me penapena te taapiri ki tetahi pokapū raraunga i tua atu i te VDS;
- Te kaha ki te uru ki te taapiri mai i nga waahi katoa (tetahi atu tūmau, rorohiko rohe, me etahi atu).
Ko tetahi mea nui ko te kaha ki te hanga i nga taapiri me te iti o te kai o te waahi taapiri me nga rauemi punaha.
Ehara tenei i te korero mo te whakaahua mo te whakaora tere o te punaha katoa, engari mo nga konae me te paataka raraunga me te hitori o nga huringa.
Raraunga tuatahi:
- VDS i runga i te mariko XEN;
- OS CentOS 7;
- 1C-Bitrix: Te taiao Tukutuku;
- Pae i runga i "1C-Bitrix: Whakahaere Pae", putanga Paerewa;
- Ko te rahi o te konae he 50 GB ka tipu ake;
- Ko te 3 GB te rahi o te putunga raraunga ka tipu ake.
Ko te taapiri paerewa kua hangaia ki roto i te 1C-Bitrix - ka whakakorehia tonutia. He pai noa mo nga waahi iti, na te mea:
- Ka mahia he kape katoa o te pae i ia wa, ia kape, ka nui ake te waahi ka tangohia e au nga konae, i taku keehi he 50 GB.
- Kua oti te penapena ma te whakamahi i te PHP, e kore e taea ki te penei te rahi o nga konae, ka nui te taumaha o te tūmau, ka kore e mutu.
- A ko te tikanga, kaore e taea te korero mo nga ra 90 i te wa e rongoa ana i te kape katoa.
Ko te otinga e tukuna ana e te hoster he kōpae taapiri kei roto i te pokapu raraunga rite tonu ki te VDS, engari kei runga i tetahi atu tūmau. Ka taea e koe te mahi me te kōpae ma te FTP me te whakamahi i au ake tuhinga, mena kua whakauruhia te ISPManager ki runga i te VDS, na roto i tana waahanga taapiri. Ko tenei whiringa kaore i te pai na te whakamahi i te pokapū raraunga kotahi.
Mai i nga mea katoa o runga ake nei, ko te mea pai rawa atu mo au ko te taapiri taapiri kia rite ki taku ake ahuatanga i Yandex.Cloud (Pupuri Ahanoa) Amazon S3 ranei (Amazon Simple Storage Service).
Me hiahia tenei:
- uru pakiaka ki te VDS;
- taputapu taarua kua whakauruhia;
- pūkete i Yandex.Cloud.
taapiri taapiri - he tikanga ka purangahia nga raraunga kua rereke mai i te taapiri whakamutunga.
Tuhinga - he taputapu taapiri e whakamahi ana i te rsync algorithms ka taea te mahi me Amazon S3.
Yandex.Cloud me Amazon S3
I tenei keehi, kaore he rereketanga i waenga i a Yandex.Cloud me Amazon S3 mo au. Kei te tautoko a Yandex i te nuinga o te Amazon S3 API, na reira ka taea e koe te mahi me te whakamahi i nga otinga e noho ana mo te mahi tahi me S3. I roto i taku keehi, koinei te taputapu taarua.
Ko te painga nui o Yandex ka taea te utu i roto i nga rubles, mehemea he nui nga raraunga, kaore he hononga ki te akoranga. I runga i te tere, ko nga pokapū raraunga Pakeha a Amazon e mahi tika ana me nga Ruhia i Yandex, hei tauira, ka taea e koe te whakamahi i Frankfurt. I whakamahia e ahau a Amazon S3 i mua mo nga mahi rite, inaianei ka whakatau ahau ki te whakamatau i a Yandex.
Te whakatu Yandex.Cloud
1. Me hanga e koe he putea nama ki Yandex.Cloud. Ki te mahi i tenei, me whakauru koe ki te Yandex.Cloud ma to putea Yandex ka hanga ranei i tetahi mea hou.
2. Waihanga Kapua.
3. I roto i te "Cloud" hanga he "Catalog".
4. Mo te "Catalogue" hanga he "Pukete Ratonga".
5. Mo te "Kaute Ratonga" hangahia nga taviri.
6. Tiakina nga taviri, ka hiahia koe a muri ake nei.
7. Mo te "Catalog" hangaia he "Paere", ka taka nga konae ki roto.
8. Ka tūtohu ahau ki te whakarite i te rohe me te kowhiri i te "Rokiroki Matao".
Te whakarite i nga taapiri kua whakaritea i runga i te tūmau
Ko tenei aratohu e mau ana i nga pukenga whakahaere taketake.
1. Tāutahia te taputapu takirua ki te VDS
yum install duplicity
2. Waihangahia he kōpaki mo te mysql dumps, i taku keehi ko /backup_db i te pakiaka VDS
3. Waihangahia he kōpaki mo nga tuhinga bash /backup_scripts ka hanga i te tuhinga tuatahi hei taapiri /backup_scripts/backup.sh
Ihirangi hōtuhi:
#!`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. Whakahaerehia te tuhinga mo te wa tuatahi ka tirohia te hua, me puta nga konae ki roto i te Peere.
`which bash` /backup_scripts/backup.sh
5. Tāpirihia he hōtuhi ki te cron mo te kaiwhakamahi pakiaka kia mahia e 2 nga wa ia ra, i nga wa katoa e hiahia ana koe.
10 4,16 * * * `which bash` /backup_scripts/backup.sh
Te whakaora raraunga mai i Yandex.Cloud
1. Hangaia he kōpaki whakaora /backup_restore
2. Hangaia te bash restore script /backup_scripts/restore.sh
Ka hoatu e ahau te tauira tino tono mo te whakaora i tetahi konae motuhake:
#!`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. Whakahaerehia te tuhinga me te tatari mo te hua.
`which bash` /backup_scripts/backup.sh
I roto i te kōpaki /backup_restore/ ka kitea e koe te kōnae index.php i whakauruhia i mua ki te taapiri.
Ka taea e koe te whakarereketanga pai kia rite ki o hiahia.
haunga te taarua
Kotahi te raru o te taarua - karekau he huarahi hei whakarite i te tepe whakamahi hongere. Ma te hongere noa, kaore tenei e hanga he raru, engari me te hongere e tiakina ana e DDoS me te tere o te utu i ia ra, ka hiahia ahau ki te whakarite i te rohe o te 1-2 megabits.
Hei whakatau
Ko te tautoko ki Yandex.Cloud, Amazon S3 ranei e whakarato ana i tetahi kape motuhake o te pae me nga tautuhinga OS ka taea te uru mai i tetahi atu tūmau, rorohiko rohe ranei. I te wa ano, kaore tenei kape e kitea i roto i te paewhiri mana whakahaere, i te papa whakahaere Bitrix ranei, e whakarato ana i te haumarutanga atu.
I roto i te putanga tino kino, ka taea e koe te hanga i tetahi tūmau hou me te tuku i te pae mo tetahi ra. Ahakoa ko te mahi tino tono ko te kaha ki te uru ki te konae mo te ra motuhake.
Ka taea e koe te whakamahi i tenei tikanga me etahi VDS, Kaituku Motuhake me nga waahi i runga i nga miihini, kaua ko 1C-Bitrix anake. Ka taea ano e te OS ke atu i te CentOS, penei i a Ubuntu, Debian ranei.
Source: will.com