Sym linklerini takip ederken rsync yapın


67

Sistemimdeki farklı ortamlarda bulunan diğer dizinlere sembolik bağlantılar içeren bir dizine sahibim:

/opt/lun1/2011
/opt/lun1/2010
/opt/lun2/2009
/opt/lun2/2008
/opt/lun3/2007

Ancak sembolik bağlar şu şekilde ortaya çıkıyor:

/files/2011
/files/2010
/files/2009
/files/2008
/files/2007

rsyncSembolik bağları takip eden bir şeyi nasıl yapabilirim ?

Örneğin:

rsync -XXX /files/ user@server:/files/

Yanıtlar:


98

-LRsync ile bayrak yerine sembolik bağlantısı yerine bağlı dosyaların veya dizinlerin içerikleri senkronize edilir.


1
Bunu yaptığımda, tüm alıcı sembolik bağlantıları silinir ve göndericim dosyaları yeniden göndermeye başlar.
ensnare

İstediğin bu değil mi? Sadece semboliklere değil gerçek alıcı dosyalara sahip olmak istediğini düşündüm. Sembollerin sembolik olarak kopyalanmasını ancak alıcı sistemdeki "doğru" yeri göstermesini otomatik olarak yeniden yazmasını mı istiyorsun? Öyleyse, normalde "sembolik bağları izleyen bir rsync" ile kastedilen bu değildir.
MadHatter

4
Merhaba - bunlar dizinler. Bunu -K bayrağıyla çalışmak için aldım.
ensnare

4
SO beni daha aptallaştırıyor eminim ..
John Hunt

4
Netleştirmek için, -LKeğer linklenmiş dosya ve dizinleri takip etmek istiyorsanız
Mahn

17

Sadece bu soruna rastladım. Ve rsync'in sembolize edilmiş dizinleri dizin olarak ele almasını istiyorsanız, Kseçeneği işaretleyin

rsync -K /files/ user@server:/files/


Ayrıca --copy-güvensiz bağlantılar seçeneğini de eklemek isteyebilirsiniz
Gregory Magarshak

2

İhtiyacınız hem -L ve -Kher iki tarafta sembolik varsa, örneğin zaten 1 rsync yapılır rsync kullanarak yedekleme güncellemek istiyorum almıştı.

    -L, --copy-links            transform symlink into referent file/dir
    -K, --keep-dirlinks         treat symlinked dir on receiver as dir

Bu gibi durumlarda, yalnızca kullanırsanız -L, alıcı tarafındaki simgeler silinecek ve yeni gerçek dir oluşacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.