Rsync Linuxile: failide sünkroonimine, kopeerimine ja varundamine
9 min lugemine - 24. mai 2025

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:
| Lipp | Mida see teeb |
|---|---|
-a | Arhiivirežiim. Säilitab õigused, omandiõiguse, sümbolilinkid ja ajamärgid. Vastab -rlptgoD. |
-v | Verbose. Loetleb ülekantavaid faile. |
-z | Pakkimine edastamise ajal. Kasulik aeglaste või kallite ühenduste puhul, vähem kasulik LAN-võrgus või juba pakitud sisu puhul. |
-P | Kombineerib --partial ja --progress. Jätkab katkestatud ülekandeid, näitab reaalajas edenemist. |
--delete | Kustutab sihtkohas failid, mida allikas ei sisalda. Vajalik tõelise peegelduse jaoks. |
--exclude | Jäta vahele mustrile vastavad failid. |
--exclude-from=FILE | Loe välistamismustrid failist. Puhtam kui paljude --exclude lipukest. |
--dry-run | Näita, mis juhtuks, kui midagi üle ei kopeeritaks. |
--bwlimit=KBPS | Piirata ribalaiuse kasutust kilobaidides sekundis. Kasulik tööajal käivitatavate varukoopiate puhul. |
--checksum | Võrdle faile kontrollsumma, mitte suuruse ja muudatuse aja järgi. Aeglasem, kuid tabab äärejuhtumeid. |
-e ssh | Kasuta 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 /destinationLõ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:
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-hostSkript, 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>&1Tee see käivitatavaks käsuga
chmod +x.Cron-kande abil selle käivitamiseks. Redigeerige järgmiselt
crontab -e:0 2 * * * /usr/local/bin/rsync-backup.shSee 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
-aarhiivirežiimi puhul-zpakkimiseks,-Ptaaslülitamise ja edusammude jälgimise jaoks--deletetõ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.

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

Kas teil on küsimusi või vajate kohandatud lahendust?
Paindlikud võimalused
Ülemaailmne haare
Kohene kasutuselevõtt
Paindlikud võimalused
Ülemaailmne haare
Kohene kasutuselevõtt