Rsync Linuxile: failide sünkroonimine, kopeerimine ja varundamine

9 min lugemine - 24. mai 2025

hero section cover
Sisukord
  • Rsync Linuxile: kuidas sünkroniseerida, kopeerida ja varundada faile nagu professionaal
  • Mis on rsync?
  • Miks kasutada rsync-i cp või scp asemel
  • Tavalised rsync-lipud
  • Rsync näited
  • Rsync automatiseerimine croni abil
  • Lõppmõtted
Jaga

Kuidas kasutada rsync'i Linuxis inkrementaalseks ülekandmiseks, kaugsünkroonimiseks üle SSH, croni abil plaanitud varundamiseks ja trailing-slash'i lõksu vältimiseks.

Rsync Linuxile: kuidas sünkroniseerida, kopeerida ja varundada faile nagu professionaal

Rsync on standardne tööriist failide kopeerimiseks Linuxi süsteemide vahel. See on kiirem kui cp või scp kõikide toimingute puhul, mida teete rohkem kui üks kord, taastub võrguühenduse katkemise korral ja edastab ainult seda, mis on tegelikult muutunud. See postitus käsitleb rsync-i toimimist, teadmisväärseid lipukesi, näiteid, mida kasutate kõige sagedamini, ja kuidas seda croniga ajastada.


 

Mis on rsync?

Rsync on käsurea utiliit failide kopeerimiseks ja sünkroniseerimiseks erinevate asukohtade vahel. See töötab lokaalselt, SSH kaudu kaughostile või rsync-daemoni vastu. Peamine erinevus cp või scp: rsync võrdleb esmalt allikat ja sihtkohta ning edastab seejärel ainult erinevused. 100 GB suuruses kataloogis, kus on muutunud 200 MB, liigutab rsync 200 MB. cp ja scp kopeerib kogu kataloogi.

See on kaasas igas kaasaegses Linuxi distributsioonis. Kui see puudub: apt install rsync või dnf install rsync.

Miks kasutada rsync-i cp või scp asemel

Kolm põhjust, miks rsync on parem mis tahes mittetriviaalse kopeerimise puhul:

  • See on inkrementaalne. Järgnevad käivitused edastavad ainult muutunud baitid, mitte terveid faile. Varunduste ja peegelduste puhul muudab see öösel tehtava töö mõne minutiga tehtavaks.
  • See talub katkestusi. --partialpooleldi edastatud 50 GB fail jätkub sealt, kus see peatati, mitte ei alusta otsast peale.
  • See säilitab metaandmed. Arhiivirežiim (-a) säilitab õigused, omaniku, sümbolilinkid ja ajamärgid. See on kriitilise tähtsusega süsteemifailide, lähtekoodipuude ja kõige puhul, kus atribuudid on olulised.

Väikeste failide ühekordseks kopeerimiseks scp sobib hästi. Kõikide korduvate, suure ribalaiusega või taastamist vajavate toimingute puhul kasutage rsync-i.

Tavalised rsync-lipud

Lipud, mida tegelikult kasutate:

LippMida see teeb
-aArhiivirežiim. Säilitab õigused, omandiõiguse, sümbolilinkid ja ajamärgid. Vastab -rlptgoD.
-vVerbose. Loetleb ülekantavaid faile.
-zPakkimine edastamise ajal. Kasulik aeglaste või kallite ühenduste puhul, vähem kasulik LAN-võrgus või juba pakitud sisu puhul.
-PKombineerib --partial ja --progress. Jätkab katkestatud ülekandeid, näitab reaalajas edenemist.
--deleteKustutab sihtkohas failid, mida allikas ei sisalda. Vajalik tõelise peegelduse jaoks.
--excludeJäta vahele mustrile vastavad failid.
--exclude-from=FILELoe välistamismustrid failist. Puhtam kui paljude --exclude lipukest.
--dry-runNäita, mis juhtuks, kui midagi üle ei kopeeritaks.
--bwlimit=KBPSPiirata ribalaiuse kasutust kilobaidides sekundis. Kasulik tööajal käivitatavate varukoopiate puhul.
--checksumVõrdle faile kontrollsumma, mitte suuruse ja muudatuse aja järgi. Aeglasem, kuid tabab äärejuhtumeid.
-e sshKasuta edastamiseks SSH-d. Enamikus kaasaegsetes installides on see vaikimisi sisse lülitatud.

Vaikimisi võrreldakse faili suurust ja muudatuse aega, mis on kiire ja peaaegu alati õige. Vahetage --checksum , kui paigaldamisprotsess kirjutab ajamärgid ümber sisu muutmata või kui kahtlustad bititasandi rikkumist.

Rsync näited

Kopeeri kataloog kohalikult:

rsync -av /source/path/ /destination/path/

Sünkroniseerimine kaugserveriga SSH kaudu:

rsync -avz /local/dir/ user@remote:/remote/dir/

Tee proov enne midagi hävitavat tegemist:

rsync -avz --dry-run /local/dir/ user@remote:/dir/

Peegelda kaks kataloogi, sealhulgas sihtkohas tehtud kustutamised:

rsync -av --delete /source/ /destination/

Jäta välja logid ja ajutine kataloog:

rsync -av --exclude='*.log' --exclude='tmp/' /src/ /dest/

Jätka suurt ülekannet, mis võib katkeda:

rsync -avP user@remote:/backups/big.img /local/

Kui SSH-seanss katkeb, käivita sama käsk uuesti. Kui kasutada -P, jätkab rsync sealt, kus ta peatus, selle asemel, et alustada nullist.

Piirata ribalaiust 50 MB/s-ni madalseisulise varundamise ajal, et see ei ummistaks üleslinki:

rsync -avz --bwlimit=50000 /local/dir/ user@remote:/dir/

Lõpus olev kaldkriips on petlik

Kõige levinum rsync-viga:

rsync -av /source  /destination/    # copies the 'source' directory INTO /destination
rsync -av /source/ /destination/    # copies the CONTENTS of /source into /destination

Lõpus olev kaldkriips allikas tähendab "kõik selles kataloogis". Kaldkriipsu puudumine tähendab "see kataloog ise". Käivita --dry-run esimesega, kui oled ebakindel, eriti kui see on kombineeritud --delete.

Rsync automatiseerimine croni abil

Planeeritud varukoopiate tegemiseks on vaja kolme asja:

  1. Paroolivaba SSH-juurdepääs sihtkohale. Cron-ülesanded ei saa parooli sisestada. Võtme genereerimine ja selle kopeerimine varundushoosti:

    ssh-keygen -t ed25519
    ssh-copy-id user@backup-host
  2. Skript, mitte üherealine käsk crontabis. Lihtsam testida, lihtsam logida:

    #!/bin/bash
    LOG=/var/log/rsync-backup.log
    rsync -az --delete /etc/ user@backup:/backups/$(hostname)/etc/ >> "$LOG" 2>&1

    Tee see käivitatavaks käsuga chmod +x.

  3. Cron-kande abil selle käivitamiseks. Redigeerige järgmiselt crontab -e:

    0 2 * * * /usr/local/bin/rsync-backup.sh

    See käivitab skripti iga öö kell 02:00.

Kaks täiustust, mida tasub tootmiskeskkonnas teha: mähkige skript flock nii, et pikaajaline töö ei kattuks järgmise öö käivitamisega, ja suunake väljund läbi logger nii, et vead jõuaksid süsteemipäevikusse, kust seire need üles leida saab.

Lõppmõtted

Rsync on üks väheseid Linuxi tööriistu, mille puhul lipukeste õppimisele kulutatud aeg tasub end peaaegu kohe ära. Peamised punktid:

  • Inkrementaalsed ülekanded ja taastamise tugi teevad rsyncist õige valiku kõigeks, mida teete rohkem kui ühe korra
  • -a arhiivirežiimi puhul -z pakkimiseks, -P taaslülitamise ja edusammude jälgimise jaoks --delete tõeliste peeglite jaoks
  • Pöörake tähelepanu allakaldkriipsule allikatees, eriti koos --delete
  • Kombineerige seda croniga ja SSH-võtmetega, et varundamine toimuks automaatselt

Suurte varundustööde puhul, mis liigutavad andmeid rajatiste vahel, tähendab rsync'i käivitamine VPS-il piiramatu ribalaiusega, et varundusaknaid ei piira andmeedastuse piirangud.

Blogi

Sel nädalal esile tõstetud

Rohkem artikleid
Timmitud profiilid Linuxi serverite töökoormuse optimeerimiseks

Timmitud profiilid Linuxi serverite töökoormuse optimeerimiseks

Kuidas valida, rakendada ja kohandada häälestatud profiile GPU, andmebaasi ja suure ribalaiusega Linuxi serverite jaoks, koos näidete ja Ansible'i kasutuselevõtunippidega.

16 min lugemine - 9. juuni 2026

Linux OOM Killer Tuning for VPS: Praktiline juhend

12 min lugemine - 8. juuni 2026

Rohkem artikleid
background image

Kas teil on küsimusi või vajate kohandatud lahendust?

icon

Paindlikud võimalused

icon

Ülemaailmne haare

icon

Kohene kasutuselevõtt

icon

Paindlikud võimalused

icon

Ülemaailmne haare

icon

Kohene kasutuselevõtt