Veebisaidi kolimine uude VPS-i: rsync ja andmebaasi dump

20 Apr 2026 Autor: Olga Naumova

Saidi kolimine uude serverisse taandub kolmele asjale: kopeerida failid, viia üle andmebaas ja lülitada ümber domeen. Kui teha kõik järjekorras ja kontrollida sait üle enne DNS-i vahetust, möödub migratsioon peaaegu ilma seisakuta.

Migratsiooni plaan

  1. Valmista ette uus VPS (veebiserver, PHP, andmebaas).
  2. Kopeeri saidi failid rsync-iga.
  3. Vii andmebaas üle dumbiga.
  4. Kontrolli sait uues serveris IP järgi.
  5. Lülita DNS ümber ja oota selle levimist.

Samm 1. Uue serveri ettevalmistus

Paigalda sama keskkond, mis on vanas serveris (näiteks LEMP), ning loo tühi andmebaas ja kasutaja. Seadista serverite vahel SSH-ligipääs — mugav on genereerida võti vanas serveris ja lisada see uude:

ssh-keygen -t ed25519
ssh-copy-id user@NEW_SERVER_IP

Samm 2. Failide kopeerimine rsynciga

rsync kannab üle ainult muutunud failid ja säilitab õigused. Käivita vanas serveris:

rsync -avz --progress /var/www/example.com/ \
  user@NEW_SERVER_IP:/var/www/example.com/

Lipud: -a säilitab õigused, omanikud ja sümbollingid, -z pakib andmed ülekandeks, -v annab üksikasjaliku väljundi. Kaldkriips allika lõpus tähendab «kataloogi sisu».

Suure saidi puhul tee eelsünkroniseerimine varakult ja lõplik sünkroniseerimine vahetult enne ümberlülitust, et värsked muudatused järele tuua.

Samm 3. Andmebaasi ülekandmine

Loo vanas serveris dump. MySQL-i/MariaDB jaoks:

mysqldump --single-transaction -u root -p app_db | gzip > app_db.sql.gz

Kopeeri dump uude serverisse:

rsync -avz app_db.sql.gz user@NEW_SERVER_IP:/tmp/

Impordi see uues serveris:

gunzip < /tmp/app_db.sql.gz | mysql -u root -p app_db

PostgreSQL-i puhul on käsud analoogsed:

pg_dump -Fc app_db > app_db.dump
# uues serveris:
pg_restore -d app_db --clean app_db.dump

Samm 4. Saidi konfiguratsiooni muutmine

Uuenda rakenduse konfiguratsioonis andmebaasi ühenduse andmeid (näiteks failis wp-config.php või .env) — host, andmebaasi nimi, kasutaja, parool. Kontrolli kataloogide õigusi:

sudo chown -R www-data:www-data /var/www/example.com

Samm 5. Kontroll enne DNS-i ümberlülitust

DNS-i muutmata kontrolli saiti uues serveris, asendades domeeni oma arvuti failis hosts:

NEW_SERVER_IP  example.com

(Linuxis ja macOS-is on see /etc/hosts.) Ava sait — kui kõik töötab, võib domeeni ümber lülitada. Pärast kontrolli eemalda rida failist hosts.

Samm 6. DNS-i ümberlülitus

Vähenda A-kirje TTL-i (näiteks 300 sekundile) ööpäev enne kolimist — siis levib muudatus kiiremini. Muuda A-kirje uue serveri IP-le ja jälgi:

dig +short example.com

Kuni DNS teenusepakkujate juures uueneb, läheb osa liiklusest veel vanasse serverisse — seepärast ära lülita seda välja vähemalt ööpäeva jooksul.

Kontrollnimekiri pärast kolimist

Kontroll Kuidas
Sait avaneb domeeni järgi pärast DNS-i vahetust
Andmebaas on ühendatud logides pole ühendusvigu
Failide õigused chown www-data, üleslaadimine töötab
SSL väljasta certbotiga uues serveris uuesti
Cron-tööd vii crontab käsitsi üle

Korduma kippuvad küsimused

Kuidas kolida sait ilma seisakuta? Sünkroniseeri failid ja andmebaas varakult, kontrolli sait hosts-faili kaudu, seejärel tee lõplik sünkroniseerimine ja lülita DNS ümber. Hoia vana server ööpäeva jooksul sisselülitatuna.

rsync ei säilita õigusi — miks? Käivita see lipuga -a (arhiivirežiim) ja piisavate õigustega kasutaja alt; omanike täielikuks säilitamiseks võib vaja minna sudo ja --numeric-ids.

Kas SSL-sertifikaat tuleb üle kanda? Lihtsam on see uues serveris certbotiga pärast DNS-i ümberlülitust uuesti väljastada — see võtab minuti.

Miks näeb osa külastajaid pärast kolimist vana saiti? DNS-i kešitakse teenusepakkujate juures vastavalt TTL-ile. Vähenda TTL-i varakult ja oota pärast kirje muutmist mõni tund.

Uue serveri jaoks vali konfiguratsioon varuga: vaata VPS-i rent, CMS-il põhinevatele saitidele sobib WordPressi VPS.

Olga Naumova