πŸ›  Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ rsync для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Π°ΡˆΠΈΡ… VDS

Рассмотрим кСйс Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром Prod ΠΈ сСрвСром Backup. Π’ качСствС инструмСнта Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ rsync.

Бинхронизация, ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для систСмных администраторов. Бинхронизация состояния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ сСрвСрами, ΠΎΠ΄Π½Π° ΠΈΠ· повсСднСвных Π·Π°Π΄Π°Ρ‡ систСмных администраторов.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° rsync позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ ssh ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • Sync method (синхронизация Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ).
  • Snapshot (созданиС ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ).

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ комплСксный backup ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ.

Π§Ρ‚ΠΎ Π½Π°ΠΌ понадобится:

  • Π‘Π΅Ρ€Π²Π΅Ρ€ с OS Ubuntu 20.04 LTS – Prod.
  • Π‘Π΅Ρ€Π²Π΅Ρ€ с OS Ubuntu 20.04 LTS – Backup.
Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ для тСстов прСдоставлСны ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Selectel.

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ssh Π½Π° сСрвСр Prod:

ssh root@Prod-IP

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° rsync Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ssh, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡:

ssh-keygen -t rsa -b 4096 -v

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA250q8TsT/X5pM+KE2n1Biz3Sre/p425I5wnRSI root@Gauss
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|             .   |
|          E o *  |
|        S ...B.+.|
|       . + *+.ooB|
|        + +oB=o=+|
|         o +*=+Oo|
|            +*OBX|
+----[SHA256]-----+

Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ сгСнСрированный ΠΊΠ»ΡŽΡ‡ Π½Π° сСрвСр Backup:

ssh-copy-id root@Backup-IP

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° дСлаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ позволяСт Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ соСдинСнии ΠΏΠΎ SSH. Π—Π°ΠΉΠ΄Π΅ΠΌ Π½Π° бэкап-сСрвСр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ssh:

ssh root@Backup-IP

Π’ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ зашли Π½Π° сСрвСр ΠΈ Ρƒ нас Π½Π΅ спросили ΠΏΠ°Ρ€ΠΎΠ»ΡŒ :) Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π° сСрвСрС Backup сСрвСрС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ backup. Бюда Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² с сСрвСра Prod. ВозвращаСмся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Prod сСрвСр.

cd /root | mkdir backup
exit

ΠœΠ΅Ρ‚ΠΎΠ΄ Sync (ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ сохранСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° rsync ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события отправляСт измСнСния Π½Π° сСрвСр Backup.
  • Если Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.
  • Если Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.
  • Если Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

На сСрвСрС Prod создадим Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° rsync:

cd var
mkdir www
cd www
touch 1.html index.html hello.html

ΠœΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π² var ΠΈ Ρ‚Π°ΠΌ создали Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ www с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ 1.html, index.html, hello.html.

ΠŸΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ :) ЗапускаСм rsync Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ синхронизации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

rsync -azvP --delete /var/www/ root@Backup-IP:/root/backup/

sending incremental file list
./
1.html
              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=2/4)
hello.html
              0 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=1/4)
index.html
              0 100%    0.00kB/s    0:00:00 (xfr#3, to-chk=0/4)

sent 222 bytes  received 76 bytes  198.67 bytes/sec

Π’ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° сСрвСр Backup. Π’Π΅ΠΏΠ΅Ρ€ΡŒ внСсСм измСнСния. Π£Π΄Π°Π»ΠΈΠΌ Ρ„Π°ΠΉΠ» hello.html ΠΈ создадим Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» 2.html:

rm -r hello.html
touch 2.html

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ запустим rsync:

rsync -azvP --delete /var/www/ root@Backup-IP:/root/backup/



sending incremental file list

deleting hello.html

./

2.html

              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=1/4)

sent 150 bytes  received 52 bytes  134.67 bytes/sec

total size is 0  speedup is 0.00

Π’ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ rsync ΡƒΠ΄Π°Π»ΠΈΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ backup Ρ„Π°ΠΉΠ» hello.html ΠΈ скопировал Ρ‚ΡƒΠ΄Π° Ρ„Π°ΠΉΠ» 2.html. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», Π² дальнСйшСм ΠΎΠ½ Π½Π°ΠΌ понадобится для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π΅ΠΊΠ°ΠΏΠ°:

nano sync.sh

#!/bin/sh

rsync -azvP --delete /var/www/ root@Backup-IP:/root/backup/

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅Ρ‚ нСобходимости Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rsync, Π° достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ sync.sh (Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ исполняСмым с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chmod):

sh sync.sh

ΠœΠ΅Ρ‚ΠΎΠ΄ Snapshot (созданиС ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ)

Π£ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ бэкапа Π΅ΡΡ‚ΡŒ нСдостаток. Если Π²Ρ‹, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ backup. Π€Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ утСряны. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

  • Π”Π΅Π»Π°Π΅ΠΌ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ backup ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь ΡƒΡ‚Ρ€ΠΎΠΌ Π² 09:30.
  • Π”Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ backup (Snapshot) СТСнСдСльно Π² понСдСльник 10:30.

Snapshot ΠΊΠ»Π°Π΄Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ snapshot Π½Π° сСрвСрС Backup. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ snapshot.sh:

nano snapshot.sh

!/bin/sh

DATE=$(date +%Y-%m-%d-t-%H-%M-%S)

rsync -arvt -t /var/www/ root@5.188.118.203:/root/backup/snapshot/$DATE

ЗапускаСм:

sh snapshot.sh

sending incremental file list
created directory /root/backup/snapshot/2021-09-01-t-16-44-29
./
1.html
2.html
index.html
snapshot.sh
sync.sh

sent 577 bytes  received 180 bytes  1,514.00 bytes/sec
total size is 213  speedup is 0.28

Из Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° исполнСния snapshot.sh Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° сдСлана ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° полная копия сохраняСмой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² backup с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

АвтоматизируСм Π·Π°Π΄Π°Ρ‡Ρƒ копирования Ρ„Π°ΠΉΠ»ΠΎΠ²

АвтоматизируСм наш backup. ΠœΡ‹ Π½Π΅ зря создавали исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ sync.sh ΠΈ snapshot.sh. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ Cron Π·Π°Π΄Π°Π½ΠΈΠ΅:

crontab -e

# Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² 09:30
30 9 * * * /root/sync.sh

# Π•ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² ПонСдСльник 10:30
30 10 * * 1 /root/snapshot.sh

Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ Π΄Π²Π° задания ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ rsync ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Ρ€Π°Π· Π² нСдСлю Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ копию.

***
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° инфраструктуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ соотвСтствуСт трСбованиям вашСго рСсурса: объСм накопитСля, процСссор ΠΈ количСство ядСр, объСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²ΠΊΠΈ ΠΈ СТСмСсячного Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, быстрая тСхничСская ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. ΠœΡ‹ тСстировали сСрвСры, любСзно прСдоставлСнныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Selectel.

Для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ сСрвСра ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ физичСская машина ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ особСнно ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ. Вакая конфигурация скорСС ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвСров Π½Π° ΠΏΡ€ΠΎΠ΄Π΅ (ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Ссли ΠΎΠ½ обслуТиваСт большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚). Selectel ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ сСрвСры, оснащСнныС 4-768 Π“Π‘ ΠžΠ—Π£, 2-72 ядрами ЦП, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ графичСский ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² качСствС сСрвСра Π΄Π°ΠΆΠ΅ Raspberry Pi 4 (4/64 Π“Π‘) ΠΈ Mac mini для iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
24 сСнтября 2017

6 сСрвисов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊ-схСмами

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ быстрСС Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
28 ΠΌΠ°Ρ€Ρ‚Π° 2017

3 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎ...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
06 фСвраля 2017

15 прСкрасных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для Sublime Text

ВстрСчайтС список ΠΏΠ΅Ρ€Π²ΠΎΠΉ нСобходимости – 15 самых Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для Subli...