Portál AbcLinuxu, 4. listopadu 2025 02:05
-p na kopirování vlastnické struktury, a teď hledám, jak zkopírovat vlastnická a přístupová práva z jednoho stromu (A) do druhého stromu (B). Vždy práva pro každý odpovídající soubor.
            Řešení dotazu:
# su # rsync -rog SRC DEST
rsync -frog ...
            frog nezapůsobí, asi proto, že zdrojový a cílový soubor je ve skutečnosti stejný, cílový soubor díky kopii má navíc novější time stamp. Ani se to nehlo vůbec nic se nekopírovalo a změny ve vlastnících neproběhly. Dokonce ani frpogW s vlastníky nic neudělalo a v tomto případě už se soubory kopírovaly.
            -I, --ignore-times
V jiném případě bude dobré vytvořit nějaký bashový one-liner 
.
            
SRC="./VSTUPNI_ADRESAR/" && DEST="./VYSTUPNI_ADRESAR/" && find $SRC -type f -printf "chown -v %u:%g '%p'\n" -or -type d -printf "chown -v %u:%g '%p'\n" | sed "s^${SRC}^${DEST}^" | source /dev/stdin
            
cd "$B"
find . -exec chown --reference "$A"/{} {} \;
find . -exec chmod --reference "$A"/{} {} \;
Předpokládá se, že
{} použít '{}'.
            find … -exec" je používání '{}' bez escapování natolik rozšířené, že si snad nikdo nedovolí to změnit, protože by to rozbilo obrovské množství skriptů.
            
        Tiskni
            
                Sdílej:
                
                
                
                
                
                
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.