แกแแญแแ แ แแงแ แกแแแขแแก แกแแ แแแแ แแ แแกแแ 2C-Bitrix: Site Management-แแ แแฆแแจแ 1-แฏแแ (แคแแแแแแ แแ mysql แแแแแชแแแแ แแแแ) แแ แชแแแแแแแแแแก แแกแขแแ แแแก แจแแแแฎแแ 90 แแฆแแก แแแแแแแแแแแจแ.
แกแแแขแ แแแแแแ แแแแก VDS-แแ, แ แแแแแแช แแฃแจแแแแก CentOS 7-แแ แแ แแแแแกแขแแแแ แแแฃแแแ โ1C-Bitrix: Web Environmentโ. แแแ แแ แแแแกแ, แแแแแแแแ OS แแแ แแแแขแ แแแแก แกแแ แแแแ แแ แแกแแ.
แแแแฎแแแแแแ:
- แกแแฎแจแแ แ - 2-แฏแแ แแฆแแจแ;
- แจแแแแแฎแแ แแกแแแแ แแแแ 90 แแฆแแก แแแแแแแแแแแจแ;
- แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแแแ แแขแฃแแ แแแ แแฆแแกแแแแก แแแแแแแแฃแแแฃแ แ แคแแแแแแแก แแแฆแแแแก แจแแกแแซแแแแแแแ;
- แกแแ แแแแ แแ แแกแแ แฃแแแ แแงแแก แจแแแแฎแฃแแ VDS-แแก แแแ แแ แแแแแชแแแแ แชแแแขแ แจแ;
- แกแแ แแแแ แแ แแกแแแก แฌแแแแแแก แจแแกแแซแแแแแแแ แแแแแกแแแแ แ แแแแแแแแแ (แกแฎแแ แกแแ แแแ แ, แแแแแแฃแ แ แแแแแแฃแขแแ แ แแ แ.แจ.).
แแแแจแแแแแแแแแ แแฃแแฅแขแ แแงแ แกแแ แแแแ แแ แแกแแแแแก แกแฌแ แแคแแ แจแแฅแแแแก แจแแกแแซแแแแแแแ แแแแแขแแแแแ แกแแแ แชแแกแ แแ แกแแกแขแแแแก แ แแกแฃแ แกแแแแก แแแแแแแแฃแ แ แแแฎแแแ แแแแ.
แแก แแ แแ แแก แแแแแ แกแแกแขแแแแก แกแฌแ แแคแ แแฆแแแแแแก แกแแแแจแแขแแ, แแ แแแแ แคแแแแแแแ แแ แแแแแชแแแแ แแแแแแ แแ แชแแแแแแแแแแก แแกแขแแ แแแแ.
แกแแฌแงแแกแ แแแแแชแแแแแ:
- VDS XEN แแแ แขแฃแแแแแแชแแแแ;
- OS CentOS 7;
- 1C-Bitrix: แแแ แแแ แแแ;
- แกแแแขแ แแแคแฃแซแแแแฃแแ "1C-Bitrix: แกแแแขแแก แแแแแฏแแแแขแ", แกแขแแแแแ แขแฃแแ แแแ แกแแ;
- แคแแแแแก แแแแ แแ แแก 50 GB แแ แแแแแ แแแแ;
- แแแแแชแแแแ แแแแแก แแแแ แแ แแก 3 GB แแ แแแแแ แแแแ.
1C-Bitrix-แจแ แฉแแจแแแแแฃแแ แกแขแแแแแ แขแฃแแ แกแแ แแแแ แแ แแกแแ - แแแฃแงแแแแแแแแ แแแแแแ แแชแฎแแแ. แแแ แแแแแฃแแแแแแแ แแฎแแแแ แแชแแ แ แกแแแขแแแแกแแแแก, แ แแแแแ:
- แงแแแแ แฏแแ แแ แแแแแแแก แกแแแขแแก แกแ แฃแ แแกแแก, แจแแกแแแแแแกแแ, แแแแแแฃแแ แแกแแ แแแแแแแแแก แแแแแ แแแแแแก, แ แแแแแแกแแช แแ แแแแแแแ แคแแแแแแก, แฉแแแก แจแแแแฎแแแแแจแ แแก แแ แแก 50 แแ.
- แกแแ แแแแ แแ แแกแแแก แจแแฅแแแ แฎแแแแ PHP-แแก แแแแแงแแแแแแ, แ แแช แจแแฃแซแแแแแแแ แคแแแแแแแก แแกแแแ แแแชแฃแแแแแ, แแก แแแแแขแแแ แแแแก แกแแ แแแ แก แแ แแ แแกแแแแก แแแกแ แฃแแแแแ.
- แแ แ แ แแฅแแ แฃแแแ, แกแ แฃแแ แแกแแแก แจแแแแฎแแแกแแก 90 แแฆแแแ แกแแฃแแแ แ แแ แจแแแซแแแแ.
แแแแแกแแแแแ, แ แแแแแกแแช แฐแแกแขแแ แ แแแแแแแแแแก, แแ แแก แกแแ แแแแ แแ แแแกแแ, แ แแแแแแช แแแแแแ แแแแก แแแแแ แแแแแชแแแแ แชแแแขแ แจแ, แ แแแแ แช VDS, แแแแ แแ แกแฎแแ แกแแ แแแ แแ. แแฅแแแ แจแแแแซแแแแ แแแฃแจแแแ แแแกแแแแ FTP-แแก แกแแจแฃแแแแแแ แแ แแแแแแงแแแแ แแฅแแแแ แกแแ แแแขแแแ, แแ แแฃ ISPManager แแแแแกแขแแแแ แแแฃแแแ VDS-แแ, แแแจแแ แแแกแ แกแแ แแแแ แแ แแแแฃแแแก แแแจแแแแแแ. แแก แแแ แแแแขแ แแ แแ แแก แจแแกแแคแแ แแกแ แแแแแ แแแแแชแแแแ แชแแแขแ แแก แแแแแงแแแแแแก แแแแ.
แงแแแแแแแ แแแแแแฅแแฃแแแแแ, แฉแแแแแแก แกแแฃแแแแแกแ แแ แฉแแแแแแ แแแแแขแแแแแ แกแแ แแแแ แแ แแกแแ แฉแแแ แกแแแฃแแแ แ แกแชแแแแ แแก แแแฎแแแแแ Yandex.Cloud-แจแ (แแแแแฅแขแแแแก แจแแแแฎแแ) แแ Amazon S3-แจแ (Amazon Simple Storage Service).
แแก แแแแแฎแแแก:
- root แฌแแแแแ VDS-แแ;
- แแแงแแแแแฃแแ duplicity แฃแขแแแแขแ;
- แแแแแ แแจแ Yandex.Cloud-แจแ.
แแแแแขแแแแแ แกแแ แแแแ แแ - แแแแแแ, แ แแแแแก แแ แแกแแช แแ แฅแแแแแแ แแฎแแแแ แแแแแชแแแแแ, แ แแแแแแแช แจแแแชแแแแ แแแแ แกแแ แแแแ แแ แแกแแแก แจแแแแแ.
แแแแ แแแแกแ - แกแแ แแแแ แแ แแ แแแ แแแ, แ แแแแแแช แแงแแแแแก rsync แแแแแ แแแแแแก แแ แจแแฃแซแแแ แแแฃแจแแแก Amazon S3-แแแ.
Yandex.Cloud vs Amazon S3
Yandex.Cloud-แกแ แแ Amazon S3-แก แจแแ แแก แแ แจแแแแฎแแแแแจแ แฉแแแแแแก แแ แแแแแ แ แแแแกแฎแแแแแแ แแ แแ แแก. Yandex แแฎแแ แก แฃแญแแ แก Amazon S3 API-แก แซแแ แแแแ แแแฌแแแก, แแกแ แ แแ แแฅแแแ แจแแแแซแแแแ แแแกแแแ แแฃแจแแแแ S3-แแแ แแฃแจแแแแแกแแแแก แฎแแแแแกแแฌแแแแแ แแแแแฌแงแแแขแแแแแแแแก แแแแแงแแแแแแ. แฉแแแก แจแแแแฎแแแแแจแ, แแก แแ แแก แแ แแแแ แฃแขแแแแขแ.
Yandex-แแก แแแแแแ แ แฃแแแ แแขแแกแแแ แจแแแซแแแแ แแงแแก แแแแแฎแแ แ แฃแแแแแจแ, แแฃ แแแแ แ แแแแแชแแแแ, แแแจแแ แแฃแ แกแแ แแแฃแแ แแ แแฅแแแแ. แกแแฉแฅแแ แแก แแฎแ แแ, แแแแแแแแก แแแ แแแฃแแ แแแแแชแแแแ แชแแแขแ แแแ แแฃแจแแแแแ แ แฃแกแฃแแแก แแ แแแแ แชแแฃแแแ Yandex-แจแ, แแแแแแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แคแ แแแแคแฃแ แขแ. แแแ แ แแแงแแแแแแ Amazon S3-แก แแกแแแแกแ แแแแชแแแแแแกแแแแก, แแฎแแ แแแแแแฌแงแแแขแ Yandex แแชแแแ.
Yandex.Cloud-แแก แแแงแแแแแ
1. แแฅแแแ แฃแแแ แจแแฅแแแแ แแแแแแแแก แแแแแ แแจแ Yandex.Cloud-แจแ. แแแแกแแแแแก แแฅแแแ แฃแแแ แจแแฎแแแแแ Yandex.Cloud-แจแ แแฅแแแแ Yandex แแแแแ แแจแแก แแแจแแแแแแ แแ แจแแฅแแแแ แแฎแแแ.
2. Cloud-แแก แจแแฅแแแ.
3. "แฆแ แฃแแแแจแ" แจแแฅแแแแแ "แแแขแแแแแ".
4. "แแแขแแแแแแกแแแแก" แจแแฅแแแแแ "แกแแ แแแกแแก แแแแแ แแจแ".
5. "แกแแ แแแกแแก แแแแแ แแจแแกแแแแก" แจแแฅแแแแแ แแแกแแฆแแแแแ.
6. แจแแแแแฎแแ แแแกแแฆแแแแแ, แแกแแแ แแแแญแแ แแแแแ แแแแแแแแจแ.
7. "แแแขแแแแแแกแแแแก" แจแแฅแแแแแ "Bucket", แคแแแแแแ แแแฎแแแแแ แแแกแจแ.
8. แแแ แฉแแแ แแแแงแแแแ แแแแแขแ แแ แแแ แฉแแแ โแชแแแ แกแแแแแกแโ.
แกแแ แแแ แแ แแแแแแแแแ แกแแ แแแแ แแ แแกแแแแแก แแแงแแแแแ
แแก แกแแฎแแแแซแฆแแแแแแ แแแแแแแกแฌแแแแแก แซแแ แแแแ แแแแแแแกแขแ แแชแแฃแ แฃแแแ แแแก.
1. แแแแแแกแขแแแแ แแ duplicity แฃแขแแแแขแ VDS-แแ
yum install duplicity
2. แจแแฅแแแแแ แกแแฅแแฆแแแแ mysql dumps-แแกแแแแก, แฉแแแก แจแแแแฎแแแแแจแ แแก แแ แแก /backup_db VDS root-แจแ
3. แจแแฅแแแแแ แกแแฅแแฆแแแแ bash แกแแ แแแขแแแแกแแแแก /backup_scripts แแ แแแแแแแแ แแแ แแแแ แกแแ แแแขแ, แ แแแแแแช แจแแฅแแแแก /backup_scripts/backup.sh-แก
แกแแ แแแขแแก แจแแแแแ แกแ:
#!`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. แแแฃแจแแแ แกแแ แแแขแ แแแ แแแแแ แแ แจแแแแแฌแแแ แจแแแแแ, แคแแแแแแ แฃแแแ แแแแแฉแแแแก Bucket-แจแ.
`which bash` /backup_scripts/backup.sh
5. แแแแแแขแแ แกแแ แแแขแ cron-แก, แ แแ root แแแแฎแแแ แแแแแ แจแแกแ แฃแแแแก แแฆแแจแ 2-แฏแแ , แแ แ แแแแแแฏแแ แแช แแญแแ แแแแแ.
10 4,16 * * * `which bash` /backup_scripts/backup.sh
แแแแแชแแแแ แแฆแแแแแ Yandex.Cloud-แแแ
1. แจแแฅแแแแแ แแฆแแแแแแก แกแแฅแแฆแแแแ /backup_restore
2. แจแแฅแแแแแ bash แแฆแแแแแแก แกแแ แแแขแ /backup_scripts/restore.sh
แแ แแแซแแแ แงแแแแแแ แแแแฎแแแแแ แแแแแแแแก แแแแแ แแขแฃแแ แคแแแแแก แแฆแแแแแแก แจแแกแแฎแแ:
#!`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. แแแฃแจแแแ แกแแ แแแขแ แแ แแแแแแแแ แจแแแแแก.
`which bash` /backup_scripts/backup.sh
แกแแฅแแฆแแแแแจแ /backup_restore/ แแแฎแแแ index.php แคแแแแก, แ แแแแแแช แแแ แ แแงแ แฉแแ แแฃแแ แกแแ แแแแ แแ แแกแแจแ.
แแฅแแแ แจแแแแซแแแแ แแแแแแแแ แฃแคแ แ แแฃแกแขแ แแแ แแฅแขแแ แแแ แแฅแแแแ แกแแญแแ แแแแแแแก แจแแกแแแแแแกแแ.
แแแแฃแก แแ แแแ แแแ
แแ แแแแแแแก แแฅแแก แแ แแ แแแแแ - แแ แแ แกแแแแแก แแ แฎแแก แแแแแงแแแแแแก แแแแแขแแก แแแฌแแกแแแ. แแแ แแแแฃแ แ แแ แฎแแ แแก แแ แแแแแแแก แแ แฅแแแแก, แแแแ แแ DDoS แแแชแฃแแ แแ แฎแแ แแฆแแจแ แกแแฉแฅแแ แแ แแแแแแแแ แแแแแ แจแแแซแแ 1-2 แแแแแแแขแแก แแแแแขแแก แแแงแแแแแ.
แ แแแแ แช แแแกแแแแ
Yandex.Cloud-แจแ แแ Amazon S3-แจแ แกแแ แแแแ แแ แแกแแแก แจแแฅแแแ แฃแแ แฃแแแแแงแแคแก แกแแแขแแก แแ OS-แแก แแแ แแแแขแ แแแแก แแแแแฃแแแแแแแ แแกแแก, แ แแแแแก แฌแแแแแ แจแแกแแซแแแแแแแ แแแแแกแแแแ แ แกแฎแแ แกแแ แแแ แแแแ แแ แแแแแแฃแ แ แแแแแแฃแขแแ แแแแ. แแแแแแ แแฃแแแ, แแก แแกแแ แแ แฉแแแก แแ แช แฐแแกแขแแแแแก แแแ แแแแก แแแแแแจแ แแ แแ แช Bitrix แแแแแแแกแขแ แแชแแฃแ แแแแแแจแ, แ แแช แฃแแ แฃแแแแแงแแคแก แแแแแขแแแแ แฃแกแแคแ แแฎแแแแแก.
แงแแแแแแ แกแแแฌแฃแฎแแ แ แจแแแแแแ, แจแแแแซแแแแ แจแแฅแแแแ แแฎแแแ แกแแ แแแ แ แแ แแแแแแแแกแแ แกแแแขแ แแแแแกแแแแ แ แแแ แแฆแแกแแแแก. แแแฃแฎแแแแแแ แแแแกแ, แ แแ แงแแแแแแ แแแแฎแแแแแแ แคแฃแแฅแชแแ แแฅแแแแ แคแแแแแ แฌแแแแแแก แจแแกแแซแแแแแแแ แแแแแ แแขแฃแแ แแแ แแฆแแกแแแแก.
แแฅแแแ แจแแแแซแแแแ แแแแแแงแแแแ แแก แขแแฅแแแแ แแแแแกแแแแ แ VDS-แแ แแ แแแแแงแแคแแแ แกแแ แแแ แแแแ แแ แกแแแขแแแแ แแแแแกแแแแ แซแ แแแแ, แแ แ แแฎแแแแ 1C-Bitrix-แแ. OS แแกแแแ แจแแแซแแแแ แแงแแก CentOS-แแก แแแ แแ, แ แแแแ แแชแแ Ubuntu แแ Debian.
แฌแงแแ แ: www.habr.com