rsync är ett kommandoradsverktyg med öppen källkod, utformad som en ersättning för rcp (och scp), men med många fler funktioner. Den använder "rsync-algoritmen", som ger en mycket snabb metod för att fjärranslutna filer ska synkroniseras.
rsync-projektet gör sitt jobb genom att bara skicka skillnaderna i filerna över länken, utan att det krävs att båda uppsättningarna finns i en av länkens ändar i förväg.
Med rsync kan användarna uppdatera hela filsystem och katalogträden, använda SSH, RSH eller direktkontakter som transport, spegelstöd via anonym rsync och eventuellt bevara symboliska länkar, filägande, hårda länkar, behörigheter, tider och enheter.
rsync kräver inga speciella privilegier för installation, och den interna pipeliningfunktionen minskar latensen för flera filer.
Vad är nytt i den här utgåvan:
- Det här är en buggfix-version. Det innehåller en säkerhetsfix för överföring från en avsändare som du inte fullt ut litar på.
Vad är nytt i version:
- Det här är en buggfix-release. Det innehåller en säkerhetsfix för överföring från en avsändare som du inte fullt ut litar på.
Vad är nytt i version 3.1.0:
- UTGÅNGSÄNDRINGAR:
- Utmatningsnummer i 3-siffriga grupper som standard (t ex 1 234 567). Se det -humanläsbara alternativet för att stänga av det. Se även demonens "loggformat" parametrar och relaterade kommandoradsalternativ (inklusive -outformat) för en modifierare som kan användas för att begära siffergrupps-eller humanläsbar utmatning i loggluppor. (Observera att loggutgången är oförändrad som standard.)
- Alternativet -list-bara påverkas nu av den -humanläsbara inställningen. Det kommer att visa siffror grupperingar som standard och enhet suffixer om högre nivåer av läsbarhet begärs. Kolonnbredden för storlekens utgång har också ökat från 11 till 14 tecken när mänsklig läsbarhet är aktiverad. Använd -no-h för att få gammal utskrift och kolumnstorlek.
- Utmatningen av alternativet - Progress har ändrats: strängen "xfer" förkortades till "xfr" och strängen "att kontrollera" förkortades till "to-chk", båda utformade för att göra plats för (som standard) bredare visning av filstorleksnummer utan att göra den totala linjelängden längre. När inkrementell rekursion är aktiverad, kan strängen "ir-chk" kommer att användas istället för "to-chk" tills inkrementell rekursionssökning är klar, så att du vet att värdet som ska kontrolleras och att det totala värdet fortfarande kommer att öka när nya filer hittas.
- Förstärkt -statutgången: 1) för att nämna hur många filer som skapades (protokoll & gt; = 28), 2) för att nämna hur många filer som raderades (en ny rad för protokoll 31, men bara utmatning när - radera är i kraft) och 3) att följa filräkningen, skapa-räkna och radera-räkna med en subcount-lista som visar räkningarna per typ. Ordalydelsen för det överförda räkningen har också förändrats så att det är tydligare att det bara är en räkning av vanliga filer.
- BUG FIXES:
- Lös en bugg i ikonv-koden när EINVAL eller EILSEQ returneras med en fullbuffert.
- Fixade några sällsynta buggar i -iconv-bearbetning som kan göra att ett multibyttecken får översättas felaktigt.
- Fasta en falsk "försvunnen fil" fel om vissa filer specificerades med "./& quot; prefix och andra var inte.
- Lös en bugg in - sparsam där ett extra gap kunde införas efter en partiell skrivning.
- Ändra vägen - progress överstiger sin tidigare produktion för att göra det nästan omöjligt för framstegen att bli överskriven av ett fel.
- Förbättrad utbredning av felmeddelanden om abnorm utmatning. Detta skulle hjälpa klientsidan att ta emot fel från servern när den existerar onormalt och borde också undvika att dö med en "anslutning oväntat stängd" avsluta när den slutna anslutningen verkligen förväntas.
- Avsändaren kontrollerar nu varje fil den planerar att ta bort för att säkerställa att den inte har ändrats från den första statens information. Detta hjälper till att undvika att förlora fildata när användaren inte använder alternativet på ett säkert sätt.
- Fixat ett data-dupliceringsfel i komprimeringsalternativet som gjorde komprimeringen mindre effektiv. Detta förbättrar protokollet 31 framåt, medan det fungerar på ett kompatibelt (buggy) sätt med äldre rsync-protokoll.
- När du skapar en tempfil är rsync nu lite smartare om det dot-char-val som kan lösa ett problem på OS X med namn som börjar med "..".
- Rsync ställer nu upp en markeringsflagg för --inplace och --appendransfer som kommer att spola skrivbufferten om överföringen avbryts. Detta säkerställer att mer mottagen data skrivs ut till disken vid en avbruten överföring (vilket är ganska användbart på en långsam, fläckig anslutning).
- Läser att map_ptr () nu justeras på 1K gränser. Det här hjälper vissa filsystem och / eller filer som inte gillar oförändrad läsning.
- Fix ett problem i funktionen msleep () om tiden hoppar bakåt.
- Fixa daemon-server-modulens namn splittrande fel där en arg skulle delas, även om -protect-args användes.
- FÖRBÄTTRINGAR:
- Tillagd alternativet --remote-option = OPT (-M OPT) kommandorads som är användbart för saker som att skicka en fjärrloggfil = FILE eller --fake-super.
- Tillagde alternativen --info = FLAGS och --debug = FLAGS för att tillåta finkorrigerad kontroll över vad som är uteffekt. Lades till en extra typ av progress-output med --info = progress2.
- Alternativet --msgs2stderr kan hjälpa till med att felsöka rsync genom att låta debugmeddelandena få utdata till stderr istället för att resa via socketprotokollet.
- Tillagda alternativen --delete-missing-args och --ignore-missing-args för att antingen ta bort eller ignorera användardefinierade filer på mottagaren som saknas på avsändaren (normalt genererar frånvaron av användardefinierade filer en fel).
- Tillagde en "T" (terabyte) -kategori till - human-readable storlek suffixer.
- Tillagda alternativen --usermap / - groupmap / - chown för att manipulera filägandet under kopian.
- Tillagda "% C" fly till logutmatningshanteringen, som kommer att mata ut MD5-kontrollsumman för en överförd fil eller alla filer om --checksum har specificerats (när protokoll 30 eller senare är i kraft).
- Tillagda "reverse lookup" parameter till rsync daemon config-filen för att tillåta omvänd DNS-sökning ska vara inaktiverad.
- Tillagd en forward-DNS-sökning för demonens värdar tillåter / nekar config. Kan inaktiveras via & quot; forward lookup & quot; parameter (standardvärden aktiverad).
- Tillagde ett sätt för mer än en grupp som ska anges i demonens konfigurationsfil, inklusive ett sätt att ange att du vill ha alla angivna användares grupper utan att behöva namnge dem. Ändrade också demonen för att klaga på en oförmåga att ange explicit angivna uid / gid-värden, även om den inte körs av en superanvändare.
- Demonen försöker nu skicka användaren felmeddelandena från pre-xfer exec-skriptet när det misslyckas.
- Förbättrad användning av alt-dest-alternativ i en befintlig hierarki av filer: Om en matchning hittas i en alt-dir, har den företräde framför en befintlig fil. (Vi måste vänta på en framtida version innan attributändringar, annars är oförändrade filer säkra vid användning av en befintlig hierarki.)
- Tilläggsbehörighet för behöriga användare och stöd för gruppbehörighet till demonens "auth users" parameter.
- Lägg till ett sätt att referera till miljövariabler i en demonens konfigurationsfil (med% VAR% referenser).
- När du ersätter en non-dir med en symlink / hardlink / device / special-fil, ska uppdateringen nu göras på atomärt sätt.
- Undvik att skicka xattr info för hårdlänkade filer med samma xattrs (protokoll 31).
- Backupkoden förbättrades för att använda bättre logik för att upprätthålla backuphierarkin. När en fil säkerhetskopieras, försöker rsync att länka den på plats så att den kommande ersättningen av destinationsfilen kommer att vara atomisk (för den normala logiken utan logga).
- Tillagde möjligheten att synkronisera nano-andra modifierade tider.
- Tillagde några fler standard suffixer för & quot; komprimera inte & quot; inställningar.
- Tillagde kontrollen av RSYNC_PROTECT_ARGS miljövariabel för att tillåta att standard för alternativet - protot-args-kommandoraden överstyrs.
- Tillagd kommandoradsalternativet --preallocate.
- Tillåt --password-file = - för att läsa lösenordet från stdin (filnamn "-").
- Rsync kommer nu förpackat med ett rsync-ssl-hjälparcript som kan användas för att kontakta en fjärr-rsync-demon med ett piped-stunnel-kommando. Det innehåller också en stunnel config-fil för att köra serverns sida för att stödja ssl-daemonanslutningar. Se paketet för förpackning / lsb / rsync.spec för ett sätt att paketera de resulterande filerna. (Förslag på hur man gör det ännu enklare att installera och använda är välkomna.)
- Förbättrade hastigheten hos vissa - inbyggda uppdateringar när det finns många identiska checksumblock som slutar vara oanvändbara.
- Tillagde alternativet --outbuf = N | L | B för att välja utmatningsbuffert.
- Upprepa alternativet --fuzzy gör nu att koden ska leta efter fuzzy matchningar inom alla kataloger också.
- Alternativet -chmod stöder nu numeriska lägen, t.ex. --chmod = 644, D755
- Tillagde lite Solaris xattr-kod.
- Avslutade en rsync-demon (avlyssningsprocessen) med 0-status när den signaliserades att dö. Detta hjälper till att starta.
- Förbättrade RSYNC_ * -miljövariablerna för pre-xfer exec-skriptet: När en demon skickas flera förfrågningsargs, är de nu anslutna till ett enda returvärde (åtskilda av mellanslag) så att RSYNC_REQUEST-miljövariabeln är korrekt för alla "pre-xfer exec". Värdena i RSYNC_ARG # vars är inte längre avkortade vid "." arg (före begäran dirs / files), så att alla begärda värden också listas (separat) i RSYNC_ARG # variabler.
- EXTRA:
- Tillagde en "instant-rsyncd" skript till supportkatalogen, vilket gör det enkelt att konfigurera en enkel rsync-demon i den aktuella katalogen.
- Tillagda "mapfrom" och "mapto" skript till supportkatalogen, vilket gör det enklare att göra användar- / gruppkartläggning i en lokal överföring baserat på passwd / gruppfiler från en annan maskin.
- Det finns en ny förbättrad version av lsh-skriptet i support dir: det är skrivet i perl och stöder -u utan att tillgripa sudo (när det körs som root). Den gamla skalversionen heter nu lsh.sh.
- Det finns ett hjälpranskript som heter rsync-slash-strip i supportkatalogen för alla som vill ändra hur rsync hanterar args med efterföljande snedstreck. (t ex arg / skulle bli strippad till arg medan arg /. skulle bli arg /).
- INTERN:
- I / O-koden omskrivits för att vara enklare och större buffrad läses över uttaget. I / O mellan mottagaren och generatorn ändrades för att vara standardmultiplexerad-I / O (på samma sätt över uttaget).
- Avsändaren försöker använda någon dödsperiod medan generatorn letar efter filer som ska överföras för att göra avsändarsida-katalogskanning på ett mer parallellt sätt.
- En demon kan nu informera en klient om ett daemon-konfigurerat timeout-värde så att klienten kan hjälpa till med den aktiva aktiviteten (protokoll 31).
- Filterkoden fick lite refactoring för att göra det mer förlängbart, att läsa bättre och göra bättre hygienkontroll.
- Verkligen stora siffror matas nu ut med vår egen big-num rutin istället för att kasta dem till en dubbel och använder en% .0f konvertering.
- Pool_alloc-biblioteket har fått några mindre förbättringar i anpassningshantering.
- Tillagd init_stat_x () funktion för att undvika dubbelarbete av acl / xattr init-kod.
- Den medföljande zliben uppgraderades från 1.2.3 till 1.2.8.
- Rsync kan nu sammanställas för att använda ett omodifierat zlib-bibliotek istället för den tweaked som ingår i rsync. Detta kommer så småningom att bli standard, då börjar vi nedräkningen för att ta bort den medföljande zliben. Innan dess kan du konfigurera med:
- ./ configure -with-included-zlib = nej
- UTVECKLARE RELATERAD:
- Tillagde mer villkorad debug-utmatning.
- Fixade några byggproblem för android och minix.
Vad är nytt i version 3.0.9 Pre1:
- Fixa en kraschbugg i kontrollsumma när du använder --inplace.
- Fixa bevarandet av ett symlink-system xattrs (t ex selinux) på Linux.
- Fixa ett fel med att ändra oskrivbara kataloger.
- Fix -fake-supers interaktion med -link-dest same-file jämförelser.
- Fix uppdateringen av curr_dir-bufferten för att undvika dubbletter.
- Gör felaktiga fel för demonen-uteslutna filfel.
- Lös några problem med efterbehandlingen av mansidorna.
Vad är nytt i version 3.0.8 Pre1:
- BUG FIXES:
- Fasta två buffertöverflödsproblem: en där en katalogvägen som exakt MAXPATHLEN inte hanterades korrekt, och en hantering av --backup-dir som är extra extra stor.
- Fixat ett problem med data-korruption när du behåller hårddiskar utan att behålla filägandet och raderar antingen före eller under överföringen. Detta åtgärdar några påstående fel i länkningskoden, och vissa potentiella misslyckade checksums (via -c) som borde ha matchats.
- Lös en potentiell krasch när en rsync-demon har en filter / exkluderingslista och överföringen använder ACL eller xattrs.
- Fäst en hängning om en riktigt stor fil behandlas av en rsync som inte kan hantera 64-bitars nummer. Rsync kommer nu att klaga på att filen är för stor och hoppa över den.
- För enheter och specialfiler undviker vi nu att samla in värdelös ACL och / eller xattr-information för filer som inte kopieras. (De okopierade filerna läggs fortfarande in i fillistan, men det finns inget behov av att samla in data som inte kommer att användas.) Detta säkerställer att om användaren använder --no-D, kan den rsync inte möjligen klaga om att inte kunna hämta utökad information från specialfiler som finns i fillistan (men inte i överföringen).
- Korrekt handtag som begär fjärrfilnamn som börjar med en streckkod. Detta undviker ett potentiellt fel där ett filnamn kan tolkas som ett (vanligtvis ogiltigt) alternativ.
- Fixat ett fel vid jämförelse av stora bokstäver i fil suffixer för - skip-komprimera.
- Om en rsync-demon har en modul konfigurerad utan en sökvägsinställning, kommer rsync nu att tillåta åtkomst till den modulen.
- Om destinationen arg är en tom sträng, kommer den att behandlas som en referens till den aktuella katalogen (som 2.x brukade göra).
- Om rsync sammanställdes med en nyare tidsinställningsfunktion (som lutimes), kommer rsync att återgå till en äldre funktion (till exempel utimes) på ett system där den nyare funktionen inte finns kvar. Detta bidrar till att göra binär binär binär mer portabel i situationer med bland annat OS.
- Fixat en batch-fil skrivbugg som inte skulle skriva ut hela uppsättningen kompatibilitetsflaggor som överföringen använde. Detta åtgärdar ett potentiellt protokollproblem för en batchfil som innehåller ett I / O-fel på avsändarens sida: det skulle ha skickats på ett sätt som batchläsaren inte förväntade sig.
- Några förbättringar av hårdkopplingskoden för att säkerställa att enhetsnummerhackning fungerar rätt, och för att ge mer information om hårddiskkoden misslyckas.
- - Inplace-koden förbättrades för att inte söka efter en omotiverad kontrollumposition. Den fyrdubbla verben [N] -meddelandet kommer nu att nämnas när en inplace-bit hanterades av en sökning snarare än en läs + skriv.
- Om vi misslyckas med att ansluta till en rsync-demon, rapportera alla anslutningsfel (t ex IPv4 & IPv6), inte bara den sista.
- Förbättrad ACL-maskhantering, t.ex. för Solaris.
- Fixade ett problem där en xattr och / eller ACL-överföring som använde ett alt-dest-alternativ (t.ex. -link-dest) kan ge ett fel med att försöka specificera ändringarna mot alt-dest-katalogens xattr / ACL-info, men var istället försöker komma åt den ännu inte existerande nya målkatalogen.
- Förbättrade xattr-systemfelmeddelanden för att nämna hela sökvägen till filen.
- - Link-dest-kontrollen för identiska symlinker undviker nu att överväga att ange skillnader som inte kan ändras på mottagaren.
- Undvik att försöka läsa / skriva xattrs på vissa filtyper för vissa operativsystem. Förbättrad konfiguration för att ange NO_SYMLINK_XATTRS, NO_DEVICE_XATTRS och / eller NO_SPECIAL_XATTRS definierar i config.h.
- Förbättrade felmeddelandena om felaktiga symlinker.
- Lös en bugginställning xattrs på nya filer som inte kan skrivas av användare.
- Lös en bugg med - fake-super när du kopierar filer och direr som inte kan skrivas av användare.
- Fixade en bugg där en glesfil kunde få sitt sista glesa block omvandlat till ett riktigt block när rsync ställer in filstorleken (kräver ftruncate).
- Om ett tempfilnamn är för långt, undviker rsync nu att avkorta namnet i mitten av intilliggande high-bit-tecken. Detta förhindrar ett eventuellt filnamnfel om filsystemet inte tillåter ett namn att innehålla en ogiltig multi-bytesekvens.
- Om en anslutning med flera protokollkontakter misslyckas (det vill säga när du kontaktar en demon), rapporterar vi nu alla fel, inte bara den sista. Detta undviker att förlora ett relevant fel (t ex ett IPv4-anslutnings-nekat fel) som hände före det slutliga felet (t ex ett IPv6-protokoll som inte stöds).
- Generera ett överföringsfel om vi försöker kalla chown med -1 för en uid eller en gid (som inte kan ställas in).
- Fixat en kraftfull radering av en fil med -on-fil-system.
- Fix popt arg-analyseringen så att ett alternativ som inte tar en arg kommer att avslå ett försök att leverera ett.
- Ett par mindre alternativ tweaks för att stödja / rrsync script, och även några regex förändringar som gör vim markera lyckligare.
- Lös några problem i support / mnt-excl-skriptet.
- Några förbättringar av manpage.
- FÖRBÄTTRINGAR:
- Tillagd ".hg /" till standard cvs utesluter (se -C & --cvs-exclude).
- UTVECKLARE RELATERAD:
- Använd lchmod () när den är tillgänglig (inte bara på symlinks).
- Ett par fixar till rutan socketpair_tcp ().
- Uppdaterade hjälpranskript i förpackningsunderkatalog.
- Byt namn på configure.in till configure.ac.
Vad är nytt i version 3.0.6:
- Fast en -read-sats hänger när rsync läser en batchfil som skapades från en inkrementell återkommande överföring.
- Fixera demonens socketkod för att hantera samtidig ankomsten av flera anslutningar.
- Fix -safe-links / - copy-unsafe-länkar för att hantera symbollar som har konsekutiva snedstreck i värdet.
- Fastar analyseringen av en [IPv6_LITERAL_ADDR] när en USER @ är prefixad.
- Avsändaren springer nu över en (falsk) symlink som har ett 0-längds värde, vilket undviker ett överföringsfel i mottagaren.
- Fixat ett fall där avsändaren kunde dö med en tag-0-fel om det fanns en I / O-fil under sändningen av fillistan.
- Fixera rrsync-skriptet för att undvika problem med serverns sida när -e är i början av de korta alternativen.
- Lös ett problem där en försvunnen katalog skulle kunna bli en exitkod 23 i stället för den riktiga utgående koden 24.
- Fixera --ikonkonverteringen av symlinker när du gör en lokal kopia.
- Fixat ett problem där -one-fil-systemet inte stoppade radering på mottagningssidan när en fält-adresskatalog inte stämde överens med en katalog i överföringen.
- Fasta droppen av en ACL-mask när inga angivna ACL-värden var närvarande.
- Fixat ett ACL / xattr korruptionsproblem där alternativet --backup kan orsaka att rsync associerar fel ACL / xattr-information med mottagna filer.
- Fixade användningen av --xattrs med -only-write-batch.
- Fixade användningen av --dry-run med --read-batch.
- Fast konfigurations felaktig användning av målet.
- Fixed configure -disable-debug-alternativet.
- Fixed en körtidsproblem för system som inte kan hitta iconv_open () genom att lägga till alternativet --disable-iconv-open configure.
- Klag och dö om användaren försöker kombinera --remove-source-filer (eller de avkodade --remove-sent-filerna) med --read-batch.
- Fixade ett misslyckande överföring av speciella filer från Solaris till Linux.
Kommentarer hittades inte