Kā izmantot rsync failu kopēšanai

How Use Rsync Copy Files



Rsync ir komandrindas rīks operētājsistēmā Linux, ko izmanto failu kopēšanai no avota atrašanās vietas uz galamērķa vietu. Varat kopēt failus, direktorijus un visu failu sistēmu un sinhronizēt failus starp dažādiem direktorijiem. Tas ir 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 utilītu failu kopēšanai un dublēšanai. Rsync atbalsta arī failu kopēšanu uz attālu sistēmu, izmantojot SSH.

Šajā rakstā mēs izskaidrosim, kā izmantot 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 vietējās, gan attālās sistēmās. Mēs apskatīsim, kā izmantot Rsync, lai:







  • Kopējiet failu/direktoriju vietējā sistēmā
  • Kopējiet failu/direktoriju no vietējās uz attālo sistēmu
  • Kopējiet failu/direktoriju no attālās sistēmas uz vietējo

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



Rsync instalēšana

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:



$sudotrāpīgsuzstādītrsync

Š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: kopē datus rekursīvi
–Z: saspiež datus
–Q: nomākt izvadi

Kopējiet failus un direktorijus lokāli

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



$rsync[iespēja] [avots] [galamērķi]

Kopējiet vienu failu lokāli

Ja vēlaties kopēt failu no vienas sistēmas vietas uz citu, varat to izdarīt, ierakstot rsync kam seko avota faila nosaukums un galamē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 šāda:

$rsync/mājas/ticēt/fails1.txt/mājas/ticēt/Dokumenti

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

Kopējiet vairākus failus lokāli

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

Piemēram, lai nokopētu failus file2.txt un file3.txt no mājas direktorijas uz direktoriju ~/Documents, komanda būtu šāda:

$rsync/mājas/ticēt/fails2.txt/mājas/ticēt/fails3.txt/mājas/ticēt/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 direktorijas, kas beidzas ar .zip paplašinājumu, direktorijā ~/Documents, mēs izmantosim:

$rsync/mājas/ticēt/ *.zip ~/Dokumenti

Kopēt direktorijus lokāli

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

Piemēram, lai kopētu parauga direktoriju uz sākumkataloga testa/ direktoriju, komanda būtu šāda:

$rsync-no /mājas/ticēt/paraugs/mājas/ticēt/pārbaude

Piezīme. Norādot / pēc avota direktorija, tiek kopēts tikai direktorija saturs. Ja nenorādīsim /pēc avota direktorija, avota direktorijs tiks kopēts arī uz mērķa direktoriju.

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

Rsync atbalsta pakāpenisku pārsūtīšanu, kā redzams 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, kas nav lielāki par 2000k no kataloga ~/Downloads uz ~/Documents, komanda būtu šāda:

$rsync-uz -maksimālais izmērs= 2000k/mājas/ticēt/Lejupielādes/ * /mājas/ticēt/Dokumenti

Šī komanda kopēs visus failus no kataloga ~/Lejupielādes uz ~/Dokumenti, izņemot tos, kas ir lielāki par 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 miljoniem no kataloga ~/Lejupielādes uz ~/Dokumenti, komanda būtu šāda:

$rsync-uz --min izmērs= 5 miljoni/mājas/ticēt/Lejupielādes/ /mājas/ticēt/Dokumenti

Šī komanda kopēs visus failus no ~/Lejupielādes direktorijā ~/Dokumenti, izņemot tos, kas ir mazāki par 5 miljoniem.

Izslēgt failus

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

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

$rsync-uz -izslēgt='*.zip' /mājas/ticēt/Lejupielādes/ /mājas/ticēt/Dokumenti

Failu un direktoriju kopēšana attālināti

Izmantojot Rsync, attālajā sistēmā varat kopēt vienu failu, vairākus failus un direktorijus. Lai kopētu failus un direktorijus attālināti, jums būs nepieciešams:

  • Rsync ir instalēts gan lokālajā, gan attālajā sistēmā
  • SSH piekļuve attālajai sistēmai
  • Attālā lietotāja parole

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

$sshremote_user@remote_ip


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

$rsync[iespēja] [avots] [tālvadības lietotājs@tālvadības pults: galamērķis]

Piemēram, lai kopētu vienu failu file.txt no ~/Lejupielādes uz attālās sistēmas ~/Dokumentu direktoriju, komanda būtu šāda:

$rsync-v~/Lejupielādes/file1.txt umara@192.168.72.164:~/Dokumenti

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

$rsync-rv~/Lejupielādes/faili umra@192.168.72.164:~/Lejupielādes/paraugi

Varat arī kopēt failus un direktorijus no attālās ierīces uz vietējo ierīci. Piemēram, lai kopētu failu2.txt no attālās sistēmas uz vietējās sistēmas darbvirsmu:

$rsync-vumara@192.168.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-rvumara@192.168.72.164:~/Lejupielādes/paraugs ~/Darbvirsma/pārbaude

Kopējot failus uz attālo sistēmu/no tās, varat izmantot arī visas iespējas, piemēram, –max-size, –min-size, –exclude un citas.

Rsync ir lielisks rīks failu kopēšanai no avota uz galamērķi vai nu lokāli, vai attālināti. Tas ietver plašu opciju komplektu, kas nodrošina elastību un kontroli, pārsūtot failus uz attālo sistēmu/no tās.