Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: chmod (en chgrp) met een exclude  (gelezen 1054 keer)

Offline h2o

  • Lid
chmod (en chgrp) met een exclude
« Gepost op: 2013/04/18, 10:01:16 »
Ik heb een scriptje die ervoor zorgt dat alle relevante directories van de hoofdlaptop worden gesyncd naar een usb schijf.
Aan het eind van een commando zorg ik ervoor dat alle directories van de juiste toegangs- (chmod) en groepsrechten (chgrp) worden voorzien. Alleen krijg ik dan een foutmelding dat de directory .gvfs niet tegankelijk is.

Hier een deel van het scriptje:
Citaat
#!/bin/sh
sudo chmod -R 0777 /home/gerard
sudo chmod 0755 /home/gerard
sudo chmod 0644 /home/gerard/.dmrc
sudo chown -R gerard /home/gerard

Uiteraard komt ook chgrp nog ergens voor.

De vraagstelling is dus of het mogelijk om ergens een exclude op te nemen die ervoor zorgt dat /home/gerard/.gvfs ongeoeid wordt gelaten.
Werk laptops + werkstation: Debian Testing
Privé laptops: Debian Testing/Unstable
Test laptop: Diverse andere Linux distribities
Chromebooks: ChromeOS Flex

Re: chmod (en chgrp) met een exclude
« Reactie #1 Gepost op: 2013/04/18, 10:32:55 »
Citaat
CP(1)                            User Commands                           CP(1)

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       -a, --archive
              same as -dR --preserve=all

[...]

       -d     same as --no-dereference --preserve=links

[...]

       -P, --no-dereference
              never follow symbolic links in SOURCE

[...]

      --preserve[=ATTR_LIST]
              preserve the specified attributes (default: mode,ownership,time-
              stamps), if  possible  additional  attributes:  context,  links,
              xattr, all

[...]

      -R, -r, --recursive
              copy directories recursively

[...]

GNU coreutils 8.21               February 2013                           CP(1)

Wat dacht je van cp -a? Dat bewaart alle attributen (dus owner, ...) en moet je niets chmodden.
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline h2o

  • Lid
Re: chmod (en chgrp) met een exclude
« Reactie #2 Gepost op: 2013/04/18, 10:40:36 »
Citaat
CP(1)                            User Commands                           CP(1)
(...)
Wat dacht je van cp -a? Dat bewaart alle attributen (dus owner, ...) en moet je niets chmodden.
Ik gebruik rsync voor het transport van de laptop naar de usb disk (en omgekeerd).
Werk laptops + werkstation: Debian Testing
Privé laptops: Debian Testing/Unstable
Test laptop: Diverse andere Linux distribities
Chromebooks: ChromeOS Flex

Re: chmod (en chgrp) met een exclude
« Reactie #3 Gepost op: 2013/04/18, 10:48:48 »
Ook rsync heeft zo een optie.

Citaat
              rsync -avz foo:src/bar /data/tmp

       This would recursively transfer all files from the directory src/bar on
       the machine foo into the /data/tmp/bar directory on the local  machine.
       The  files  are  transferred in "archive" mode, which ensures that sym‐
       bolic links, devices, attributes,  permissions,  ownerships,  etc.  are
       preserved  in  the transfer.  Additionally, compression will be used to
       reduce the size of data portions of the transfer.

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

Offline h2o

  • Lid
Re: chmod (en chgrp) met een exclude
« Reactie #4 Gepost op: 2013/04/18, 11:10:16 »
Ik zal even iets concreter zijn. Het script gaat eerst met rsync de hele handel synchroniseren. Daarbij worden een paar directories 'excluded' middels een apart bestandje waarin deze directories zijn opgesomd, en met de parameter --exclude-from 'naam-bestand.txt' worden overgeslagen.

NADAT de rsync cyclus is gedaan worden de eventuele verkeerde rechten gecorrigeerd met de eerder genoemde regels met chmod en chgrp. Omdat ik daarbij de -R parameter me geef worden alle onderliggende directories en bestanden meegenomen.
Alleen gaat er iets fout met de directory .gvfs, en alleen -die- directory wil ik overslaan. Dit heeft dus alleen betrekking op de chmod en chgrp aangelegenheden.

Op zich is die foutmelding nog niet eens het probleem. Alleen is het storend en kost het af en toe een halve minuut tijd. Als ik dan net voor het weggaan (komt op mijn werk regelmatig voor) op die fout moet wachten is dat niet echt leuk.
Werk laptops + werkstation: Debian Testing
Privé laptops: Debian Testing/Unstable
Test laptop: Diverse andere Linux distribities
Chromebooks: ChromeOS Flex

Re: chmod (en chgrp) met een exclude
« Reactie #5 Gepost op: 2013/04/18, 11:45:46 »
Citaat
The  files  are  transferred in "archive" mode, which ensures that symbolic links, devices, attributes,  permissions,  ownerships,  etc.  are preserved in  the transfer.

Citaat
NADAT de rsync cyclus is gedaan worden de eventuele verkeerde rechten gecorrigeerd met de eerder genoemde regels met chmod en chgrp.

(Nadruk mijn).

Ik ga even vrij aannemen dat deze subtiele hint niet gaat overkomen. rsync bewaart permissions al correct. Het is niet nodig om die achteraf nog te gaan "corrigeren".
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline vanadium

  • Lid
Re: chmod (en chgrp) met een exclude
« Reactie #6 Gepost op: 2013/04/18, 15:48:11 »
Ik begrijp ook niet waarom je achteraf permissies wil gaan corrigeren, en dan nog blijkbaar van je bronbestanden?? (/home/gerard is het origineel dat moet gebackuped worden, toch?) rsync -a maakt inderdaad een "spiegelkopie": alle gegevens en folderstructuren worden exact overgekopieerd, permissies en eigenaars intact. Het enige wat -a niet doet, is ook harde linken reproduceren, want dat vertraagt te veel. Je kan hiervoor zelf de optie -H toevoegen.

In recente Ubuntu versies (vanaf 12.10) werd die .gvfs terecht verplaatst, weg vanuit de directory van de gebruiker. Zo heeft hij er nooit meer last van. In jou geval zou ik dus meteen al bij de backup operatie .gvfs niet meenemen.

Re: chmod (en chgrp) met een exclude
« Reactie #7 Gepost op: 2013/04/18, 22:25:58 »
H2O,

Als ik me niet vergist is de (-f) optie met chown die de foutmelding onderdrukt.
Dan wordt het: chown -fR <user>:<group> <path>
Bij deze is dan ook chgrp inbegrepen.

Maar zoals het hier al is aangekaart, ik zie ook het nut niet in om permmissie en eigenaar te gaan "corrigeren".
MvG,
MauRice
Registered Linux user: 473556