Vraag Hoe kan ik ervoor zorgen dat Rsync geen overgezette bestanden laat zien?


Ik heb een sshfs-verbindingsinstelling met een extern bestandssysteem op een Linux-server. Ik doe een Rsync van mijn lokale server naar het ftpfs-bestandssysteem. Vanwege de aard van deze setup kan ik dit niet chown alles op het sshfs-bestandssysteem.

Wanneer ik Rsync doe, probeert het om alle dossiers na te sturen nadat het hen overbrengen. Dit resulteert in chown-fouten, hoewel het de bestanden prima overdraagt.

Met Rsync, is er een manier om het te vertellen om de bestanden niet te proberen en te chaten? Als ik rsync als 1000 bestanden heb, krijg ik een log van 1000 chown: permission denied (error 13) fouten. Ik weet dat het niets kwaad doet om deze fouten te krijgen, omdat het eigendom van de bestanden wordt bepaald door de sshfs-configuratie zelf. Maar het zou leuk zijn om ze niet te pakken te krijgen.


63
2018-02-28 23:24


oorsprong




antwoorden:


U voert waarschijnlijk rsync als volgt uit:

rsync -a dir/ remote:/dir/

De -a keuze volgens de documentatie is gelijk aan: -rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

Waarschijnlijk wilt u het verwijderen -o en -g opties:

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

Dus in plaats daarvan zou je rsync commando er ongeveer zo uit moeten zien:

rsync -rlptD dir/ remote:/dir/

Of zo @glglgl wijst erop:

rsync -a --no-o --no-g dir/ remote:/dir/

De overige opties die worden gebruikt zijn:

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files

97
2018-02-29 05:12



... of gewoon -a --no-o --no-g - glglgl
Ik gebruikte gewoon rsync -r --no-o --no-g /source/* /dest/ en mijn eigenaar en groep van de bestanden op de bestemming waren nog steeds veranderd volgens de bron. Om het even welke ideeën? - Ram Patra


Niet passeren -o of een van de andere opties die het impliceert.


12
2018-02-28 23:40





Gebruik de -a optie, omdat het de -p optie die de rechten behoudt. Voor deze situatie, de -r moet genoeg zijn.

Zie voor meer informatie man rsync.


5
2018-02-28 23:41



Weet je het zeker -p wil ik vermijden? Eigendom is anders dan toestemmingen, correct? - Jake Wilson


Ik ben iets soortgelijks tegengekomen rsync bewaarde de eigenaar niet en de groep bestanden en mappen werd gesynchroniseerd vanaf een externe server. Om te corrigeren, heb ik gekopieerd over de /etc/shadow, /etc/group en /etc/passwd bestanden.

Toen ik de rsync commando eronder werkte dan in dat het de permissies, symbolische links & eigendom behield.

Ik had ssh-sleutels ingesteld om wachtwoordloze ssh te gebruiken.

rsync -avpog user@10.1.x.x:/usr/local /usr

0
2018-04-06 15:00