rsync

Kā failu kopēšanai izmantot rsync

Kā failu kopēšanai izmantot rsync
Rsync ir komandrindas rīks Linux, kas tiek izmantots, lai kopētu failus no avota vietas uz galamērķa vietu. Var kopēt failus, direktorijus un visu failu sistēmu un sinhronizēt failus starp dažādiem direktorijiem. Tas dara vairāk nekā tikai failu kopēšana. Tas samazina tīklā nosūtīto datu apjomu, nosūtot tikai jaunus vai atjauninātus failus. Tāpēc to uzskata par lielisku failu kopēšanas un dublēšanas lietderību. Rsync atbalsta arī failu kopēšanu attālā sistēmā, izmantojot SSH.

Šajā rakstā mēs paskaidrosim, kā izmantot failu rsync failu kopēšanai, izmantojot dažus praktiskus piemērus. Mēs arī izskaidrosim rsync izmantošanu viena faila, vairāku failu un direktoriju kopēšanā gan lokālajā, gan attālajā sistēmā. Mēs aplūkosim, kā izmantot Rsync, lai:

Šajā rakstā minētās komandas un procedūras mēs esam izskaidrojuši Ubuntu 20.04 LTS. Lai kopētu failus, izmantojot rsync, jums būs nepieciešams komandrindas termināls. Lai atvērtu komandrindas lietojumprogrammu Terminal, izmantojiet īsinājumtaustiņu Ctrl + Alt + T.

Instalē Rsync

Rsync ir iepriekš instalēts Ubuntu 20.04 LTS. Tomēr, ja tas nejauši tiek noņemts no sistēmas, varat to instalēt šādi:

$ sudo apt instalēt rsync

Šeit ir dažas no visbiežāk izmantotajām opcijām, kuras var izmantot kopā ar rsync:

-a: arhīva režīms
-v: parāda informāciju par kopēšanas procesu
-p: parāda progresa joslu
-r: datus kopē rekursīvi
-z: saspiež datus
-q: nomākt izvadi

Kopējiet failus un direktorijus lokāli

Rsync vispārējā sintakse ir šāda:

$ rsync [opcija] [avots] [galamērķis]

Kopējiet vienu failu lokāli

Ja vēlaties sistēmā kopēt failu no vienas vietas uz citu, to varat izdarīt, ierakstot rsync seko avota faila nosaukums un mērķa direktorijs.

Piemēram, lai kopētu vienu failu “file1.txt ”no pašreizējās atrašanās vietas, kas ir mājas direktorija, uz direktoriju ~ / Documents, komanda būtu:

$ rsync / home / tin / file1.txt / home / tin / Dokumenti

Piezīme: “/ home / tin / file1” vietā.txt ”, mēs varam ierakstīt arī“ file1 ”, jo pašlaik strādājam mājas direktorijā. Mēs varam izmantot arī ~ / Documents, nevis pieminēt pilnu ceļu kā “/ home / tin / Documents”.

Kopējiet vairākus failus lokāli

Ja vēlaties sistēmā kopēt vairākus failus vienlaikus no vienas vietas uz citu, to varat izdarīt, ierakstot rsync seko avota failu nosaukums un galamērķa direktorijs.

Piemēram, lai kopētu failus “file2.txt ”un“ fails3.txt ”no mājas direktorija uz ~ / Documents direktoriju, komanda būs šāda:

$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Dokumenti

Lai kopētu visus failus ar tādu pašu paplašinājumu, varat izmantot zvaigznīti (*), nevis atsevišķi norādīt failu nosaukumus. Piemēram, lai kopētu visus failus no mājas direktorija, kas beidzas ar “.zip ”paplašinājumu direktorijai ~ / Documents, mēs izmantosim:

$ rsync / home / tin / *.zip ~ / Dokumenti

Kopējiet direktorijus lokāli

Ja vēlaties kopēt direktoriju ar tā apakšdirektoriju un visu saturu no vienas vietas uz citu savā sistēmā, varat to izdarīt, ierakstot rsync seko avota un mērķa direktorijs.

Piemēram, lai kopētu direktoriju “paraugs” direktorijā “test /” mājas direktorijā, komanda būtu šāda:

$ rsync -av / home / tin / sample / home / alva / test

Piezīme: Norādot “/” pēc avota direktorija, tiek kopēts tikai direktorijas saturs. Ja pēc avota direktorija nenorādīsim “/”, avota direktorijs tiks kopēts arī galamērķa direktorijā.

Tāpat kā nākamajā izvadē, jūs varat redzēt, ka mūsu avota direktorija “paraugs” tiek kopēta arī galamērķa direktorijā (jo kā avota direktoriju esam izmantojuši “paraugs”, nevis “paraugs /”).

Rsync atbalsta pakāpenisku pārsūtīšanu, kā redzat iepriekšminētajā izvadā, ka tas pārsūta tikai jaunus vai atjauninātus failus.

Kopējiet failus, pamatojoties uz maksimālo lielumu

Kopēšanas laikā mēs varam arī norādīt maksimālo failu lielumu, ko var kopēt, izmantojot opciju “-max-size”. Piemēram, lai kopētu failus, kuru lielums nepārsniedz 2000 000, no direktorija ~ / Lejupielādes uz ~ / Dokumenti, komanda būtu šāda:

$ rsync -a --max-size = 2000k / home / tin / Lejupielādes / * / home / tin / Dokumenti

Šī komanda kopēs visus failus no ~ / Downloads uz ~ / Documents direktoriju, izņemot tos, kuru lielums pārsniedz 2000k.

Kopējiet failus, pamatojoties uz minimālo lielumu

Līdzīgi mēs varam arī norādīt minimālo failu lielumu, ko var kopēt, izmantojot opciju “-min-size”. Piemēram, lai kopētu failus, kas nav mazāki par 5 M, no direktorija ~ / Lejupielādes uz ~ / Dokumenti, komanda būtu šāda:

$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / Documents

Šī komanda kopēs visus failus no ~ / Downloads uz direktoriju ~ / Documents, izņemot tos, kas mazāki par 5M.

Izslēgt failus

Kopējot failus no viena direktorija uz citu, dažus failus var izslēgt, izmantojot opciju “-exclude”, kam seko faila nosaukums vai faila tipa paplašinājums.

Piemēram, lai izslēgtu visus .zip failus, kopējot failus no ~ / Downloads uz ~ / Documents direktoriju, komanda būtu:

$ rsync -a --exclude = "*.zip "/ mājas / alva / Lejupielādes / / mājas / alva / Dokumenti

Kopējiet failus un direktorijus attālināti

Izmantojot Rsync, jūs varat kopēt vienu failu, vairākus failus un direktorijus uz attālo sistēmu. Failu un direktoriju attālinātai kopēšanai būs nepieciešami:

Pirms failu kopēšanas, izmantojot rsync, pārliecinieties, vai varat piekļūt attālajai sistēmai, izmantojot SSH:

$ ssh remote_user @ remote_ip


Vispārējā sintakse failu un direktoriju kopēšanai attālā sistēmā, izmantojot rsync:

$ rsync [opcija] [avots] [remoteuser @ remoteip: galamērķis]

Piemēram, lai kopētu vienu failu “fails.txt ”no ~ / Lejupielādes uz attālo sistēmu ~ / Dokumentu direktoriju, komanda būtu:

$ rsync -v ~ / Lejupielādes / fails1.txt umara @ 192.168. lpp.72.164: ~ / Dokumenti

Līdzīgi, lai kopētu direktoriju “~ / Downloads / files” vietējā sistēmā ar tā apakšdirektoriju un visu saturu attālās sistēmas direktorijā “~ / Downloads / paraugi”:

$ rsync -rv ~ / Lejupielādes / faili umara @ 192.168. lpp.72.164: ~ / Lejupielādes / paraugi

Varat arī kopēt failus un direktorijus no attālās mašīnas uz vietējo mašīnu. Piemēram, lai kopētu “file2.txt ”no attālās sistēmas uz vietējās sistēmas darbvirsmu:

$ rsync -v umara @ 192.168. lpp.72.164: ~ / Lejupielādes / fails2.txt ~ / darbvirsma /

Līdzīgi, lai kopētu direktoriju no attālās sistēmas uz vietējo sistēmu

$ rsync -rv umara @ 192.168. lpp.72.164: ~ / Lejupielādes / paraugs ~ / Darbvirsma / pārbaude

Kopējot failus uz / no attālās sistēmas, varat izmantot arī visas opcijas, piemēram, -max-size, -min-size, -exclude un citas.

Rsync ir lielisks rīks failu kopēšanai no avota līdz galamērķim lokāli vai attālināti. Tas ietver lielu opciju kopumu, kas sniedz jums elastību un kontroli, pārsūtot failus uz / no attālās sistēmas.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...