Tarafından yapılması gerekmez rsync
, ancak bunu yapmak için bir senaryo yazmak zorunda kalmazsınız ve rsync
istediğime çok yakın.
rsync -a
(veya -l
) sembolik bağlantıları koruyabilir ve sembolik bağlantıları -L
kaldırabilir ve normal dosya / dizinmiş gibi kopyalayabilir. Ancak, sembolik bağlantıyı tutmak ve bağlantıların işaret ettiği dosyaları / dizinleri kopyalamak mümkün mü?
İşte bir örnek. Diyelim ki bu klasör hiyerarşisine sahibiz:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirB/not_this_file
dirC/file
dirC/file2
dirD/others
ve rsync -aR dirA dest
(ya da başka bir şey) yaptığımda, tam olarak bunların şu şekilde görünmesini istiyorum dest
:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirC/file
dirC/file2
Bu mümkün mü rsync
? Teşekkür ederim.
Diyelim ki mutlak yola sahip olan veya kaynak dizinin dışını gösteren semboller yok sayılabilir.
a -> b
, b -> c/foo
, c -> d/e
: kopyasına bir istek a
de kopyalamak gerekir b
, c
, c/foo
, d
, d/e
ve d/e/foo
).
dirA/link
sembolik köprü ise../dirB/file
, o zaman bu kopyalama olarak ele alınmalıdırdirB/file
etmekdest/dirB/file
vedirA/link
karşıdest/dirA/link
. YadirA/link
bir bağlantı varsa../../another_file
? Genel olarak,dirA/link
dizin ağacında daha yüksek bir dizine işaret ederse ne olur ?