Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

Zinali zofunikira kuti ndisunge malowa ku 2C-Bitrix: Site Management 1 pa tsiku (mafayilo ndi mysql database) ndikusunga mbiri ya kusintha kwa masiku 90.

Tsambali lili pa VDS yomwe ikuyenda CentOS 7 yokhala ndi "1C-Bitrix: Web Environment" yoyikidwa. Kuphatikiza apo, sungani zosunga zobwezeretsera za OS.

Zofunikira:

  • pafupipafupi - 2 pa tsiku;
  • Sungani makope kwa masiku 90 apitawa;
  • Kutha kupeza mafayilo amtundu wa tsiku linalake, ngati kuli kofunikira;
  • Zosunga zobwezeretsera ziyenera kusungidwa mu data center kupatula VDS;
  • Kutha kupeza zosunga zobwezeretsera kulikonse (seva ina, kompyuta yakomweko, ndi zina).

Mfundo yofunikira inali kuthekera kopanga ma backups mwachangu ndikugwiritsa ntchito pang'ono malo owonjezera ndi zida zamakina.

Izi siziri za chithunzithunzi cha kubwezeretsa mwamsanga dongosolo lonse, koma za mafayilo ndi database ndi mbiri ya kusintha.

Zoyambira:

  • VDS pa XEN virtualization;
  • OS CentOS 7;
  • 1C-Bitrix: Malo a pa intaneti;
  • Tsamba lochokera pa "1C-Bitrix: Site Management", Mtundu wokhazikika;
  • Kukula kwa fayilo ndi 50 GB ndipo kudzakula;
  • Kukula kwa database ndi 3 GB ndipo kudzakula.

Zosunga zobwezeretsera zokhazikika mu 1C-Bitrix - zimachotsedwa nthawi yomweyo. Ndizoyenera malo ang'onoang'ono okha, chifukwa:

  • Amapanga kopi yathunthu ya malowa nthawi iliyonse, motsatira, kopi iliyonse idzatenga malo ochuluka momwe ndimatenga mafayilo, kwa ine ndi 50 GB.
  • Zosunga zobwezeretsera zimachitika pogwiritsa ntchito PHP, zomwe sizingatheke ndi mafayilo otere, zidzadzaza seva ndipo sizidzatha.
  • Ndipo, ndithudi, sipangakhale zokamba za masiku 90 pamene mukusunga buku lathunthu.

Yankho lomwe hoster limapereka ndi disk yosunga zobwezeretsera yomwe ili pamalo amodzi a data monga VDS, koma pa seva yosiyana. Mutha kugwira ntchito ndi diski kudzera pa FTP ndikugwiritsa ntchito zolemba zanu, kapena ngati ISPManager yayikidwa pa VDS, ndiye kudzera mu gawo lake losunga zobwezeretsera. Njirayi si yoyenera chifukwa chogwiritsa ntchito deta yomweyi.

Kuchokera pazimenezi, chisankho chabwino kwambiri kwa ine ndikusunga zosunga zobwezeretsera malinga ndi momwe ndingachitire mu Yandex.Cloud (Object Storage) kapena Amazon S3 (Amazon Simple Storage Service).

Izi zimafuna:

  • kupeza mizu ku VDS;
  • anaika duplicity zothandiza;
  • akaunti mu Yandex.Cloud.

zowonjezera zowonjezera - njira yomwe deta yokhayo yomwe yasintha kuyambira pomwe zosunga zomaliza zimasungidwa.

kuphatikiza - chida chosungira chomwe chimagwiritsa ntchito ma algorithms a rsync ndipo chitha kugwira ntchito ndi Amazon S3.

Yandex.Cloud vs Amazon S3

Palibe kusiyana pakati pa Yandex.Cloud ndi Amazon S3 pankhaniyi kwa ine. Yandex imathandizira gawo lalikulu la Amazon S3 API, kotero mutha kugwira nawo ntchito pogwiritsa ntchito njira zomwe zilipo pogwira ntchito ndi S3. Kwa ine, izi ndizomwe zimagwiritsidwa ntchito kawiri.

Ubwino waukulu wa Yandex ukhoza kukhala malipiro mu rubles, ngati pali deta yambiri, ndiye kuti sipadzakhala kugwirizana kwa maphunzirowo. Pankhani ya liwiro, malo a data aku Europe aku Amazon amagwira ntchito molingana ndi aku Russia ku Yandex, mwachitsanzo, mutha kugwiritsa ntchito Frankfurt. Ndinagwiritsa ntchito Amazon S3 kale ntchito zofanana, tsopano ndinaganiza zoyesa Yandex.

Kukhazikitsa Yandex.Cloud

1. Muyenera kupanga akaunti yolipira mu Yandex.Cloud. Kuti muchite izi, muyenera kulowa mu Yandex.Cloud kudzera mu akaunti yanu ya Yandex kapena pangani yatsopano.

2. Pangani Cloud.
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

3. Mu "Mtambo" pangani "Catalog".
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

4. Kwa "Catalogue" pangani "akaunti ya Service".
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

5. Pa "akaunti ya Service" pangani makiyi.
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

6. Sungani makiyi, mudzawafuna mtsogolo.
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

7. Kwa "Catalog" pangani "Chidebe", mafayilo adzagwera mmenemo.
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

8. Ndikupangira kukhazikitsa malire ndikusankha "Cold Storage".
Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

Kukhazikitsa zosunga zobwezeretsera pa seva

Bukhuli limatengera luso lofunikira pakuwongolera.

1. Ikani chida chowirikiza pa VDS

yum install duplicity

2. Pangani chikwatu cha mysql dumps, kwa ine ndi /backup_db muzu wa VDS

3. Pangani chikwatu cha bash scripts /backup_scripts ndikupanga script yoyamba yomwe isunga /backup_scripts/backup.sh

Zolemba:

#!`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. Kuthamanga script kwa nthawi yoyamba ndikuwona zotsatira, owona ayenera kuonekera mu Chidebe.

`which bash` /backup_scripts/backup.sh

Zosunga zobwezeretsera za VDS zokhala ndi tsamba pa 1C-Bitrix mu Yandex.Cloud

5. Onjezani script ku cron kuti wogwiritsa ntchito mizu aphedwe 2 pa tsiku, kapena nthawi zambiri momwe mukufunikira.

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

Kubwezeretsa kwa data kuchokera ku Yandex.Cloud

1. Pangani chikwatu chobwezeretsa /backup_restore

2. Pangani bash kubwezeretsa script /backup_scripts/restore.sh

Ndikupereka chitsanzo chofunsidwa kwambiri chobwezeretsa fayilo inayake:

#!`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. Thamangani script ndikudikirira zotsatira.

`which bash` /backup_scripts/backup.sh

Mu /backup_restore/ foda mudzapeza fayilo ya index.php yomwe idaphatikizidwa kale muzosunga zobwezeretsera.

Mutha kusintha bwino kuti zigwirizane ndi zosowa zanu.

kuchotsera kubwereza

Kubwereza kuli ndi vuto limodzi - palibe njira yokhazikitsira malire ogwiritsira ntchito njira. Ndi njira yodziwika bwino, izi sizimapanga vuto, koma ndi njira yotetezedwa ndi DDoS yothamanga tsiku ndi tsiku, ndikufuna kukhala ndi malire a 1-2 megabits.

Pomaliza

Kusunga zosunga zobwezeretsera mu Yandex.Cloud kapena Amazon S3 kumapereka kopi yodziyimira payokha ya tsambalo ndi zoikamo za OS zomwe zitha kupezeka kuchokera ku seva ina iliyonse kapena kompyuta yakomweko. Nthawi yomweyo, kopeli silikuwoneka mu gulu lowongolera kapena pagawo la admin la Bitrix, lomwe limapereka chitetezo chowonjezera.

Pazotsatira zoyipa kwambiri, mutha kupanga seva yatsopano ndikutumiza tsambalo tsiku lililonse. Ngakhale ntchito yofunsidwa kwambiri idzakhala mwayi wopeza fayilo pa tsiku linalake.

Mutha kugwiritsa ntchito njirayi ndi VDS iliyonse kapena ma seva odzipereka ndi masamba pamainjini aliwonse, osati 1C-Bitrix yokha. OS ikhozanso kukhala ina osati CentOS, monga Ubuntu kapena Debian.

Source: www.habr.com

Kuwonjezera ndemanga