Dizinleri birleştirerek durdurulmuş taşımaya (mv) devam etmenin en iyi yolu?


18

NAS'ımda (Linux tabanlı) oldukça büyük bir dizini taşıdım (mv), ancak prosedürü kesmek zorunda kaldım. Normal bir Linux kullanıcısı değilim, gerisini devam edip daha sonra birleştirebilirim.

mv /oldisk/a /newdisk

Yordam yarıya indirildi, bu nedenle / oldisk / a'nın geri kalanı hala var ve zaten kopyalanmış dosyaları içeren / newdisk / a zaten var. Hangi dosyaların önceden kopyalandığına dair hiçbir fikrim yok. BTW, / oldisk / a altında, elbette, birçok alt dizin vardır.

Kalan dosyaları / newdisk / a klasörüne taşımanın / birleştirmenin en iyi yolu nedir?

Yanıtlar:


28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

--dry-run(Veya -n) aslında hiçbir şey yapmadan ne yapacağını gösteren, bir prova yapacağız.

Tamam görünüyorsa, -nseçenek olmadan rsync'i çalıştırın .

Bu bir kopya olacak, bir hareket değil, yaptığınız şey değil, ama daha güvenlidir. --archive(Veya -a) tüm sahipliği sağlar ve meta veri korunur zaman damgalarını (ki normal bir kopyası olmaz).


2
Kopyalama tamam, eski dizini daha sonra istediğiniz zaman kaldırabilirsiniz.
Horst Walter

4
--remove-source-filesBaşarılı bir şekilde kopyalanan dosyaları silmek için kullanabilirsiniz . Ayrıca, -Pya --progressda daha kaç dosya yapmak için bir tahmin gösterecektir.
deltab

1
bir hamle örneği olarak:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat

1
@deltab, --progress her dosya için yeni bir çubuk çizer, bunun yerine tüm aktarım için --info = progress2 vardır.
盐 友情 留 在 无 盐

Vay canına, bu çok üzücü. Mv kesinlikle kendi başına yapması gereken şeyi yapmak için diğer araçlara ihtiyaç duyduğu kırık. Ben sadece bunu öğrendim, mv oldukça acıklı olan mevcut bir dizine yazmayı reddediyor. Bu komutu daha işlevsel bir şeyle değiştirme zamanı.
nigratruo
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.