Folositi rsync, de ce? Acum cateva zile am vrut sa migrez un VPS CentOS de la un furnizor la altul. Am incercat sa fac un instantaneu și sa incerc sa migrez, dar nu a funcționat. VPS-ul avea puține servicii aleatorii, asa ca migrarea serviciilor unul cate unul nu a fost ușoara. Ceea ce am facut a fost sa configurez un nou CentOS VPS cu aceeași versiune a sistemului de operare, rsync fișiere de la VPS sursa la noul VPS.
Asigurati-va ca faceți o copie de rezerva a serverului inainte de a o face. In cazul in care ceva nu merge bine, ar trebui sa puteti restabili din spate sau reincarcati sistemul de operare.
Instalati rsync pe serverul sursa si destinatie.
Pentru Ubuntu/Debian
1 | apt install rsync |
Pentru RHEL/CentOS/AlmaLinux
1 | yum install rsync |
Pe serverul sursa, creati un fisier
1 2 3 | vi /root/no_copy sau nano /root/no_copy |
Adaugati urmatorul continut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /boot/ /etc/modules /etc/fstab /etc/mtab /etc/netplan/ /etc/network/ /etc/sysconfig/network-scripts/ /lib/modules lost+found/ /sys/ /proc/ /dev/ /var/cache/ /swapfile |
Aceste fisiere nu vor fi copiate pe noul VPS. Daca nu aveti alte foldere sau fisiere pe care nu doriti sa le copiati pe noul server, le puteti adauga la lista.
Acum rulati rsync pe serverul sursa pentru a copia fisierele pe noul server
1 | rsync -avzP --exclude-from=/root/no_copy / root@NOUL_SERVER_IP:/ |
In comanda de mai sus, inlocuiti NEW_SERVER_IP cu noua adresa IP a serverului.
Cand facem rsync, toate fisierele sunt copiate pe noul server. Dupa prima rulare rsync, puteti rula comanda rsync de orice numar de ori, numai fisierele modificate copiate si se vor termina mai repede, deoarece mai putine date trebuie copiate pe noul server.
Dupa finalizarea primei rsync, vom opri toate serviciile de pe serverul sursa si de destinatie, cum ar fi MySQL, Apache, Nginx, etc… astfel incat nicio data nu va fi schimbata in timp ce facem rsync. Acum faceti o alta rsync, reporniti serverul de destinatie, vedeti daca totul functioneaza bine.