Linux Multithreading/Parallel File Copy

Linux Multithreading/Parallel File Copy

Merhaba arkadaşlar;

Sizlere bu günkü anlatımımda birden fazla thread açarak dosya kopyalamayı anlatacağım. Buna binlerce veya milyonlarca klasör altında bulunan dosyaların kopyalanması veya taşınması durumunda ihtiyaç duyabilirsiniz. Normal şartlarda kopyalama başlattığınız zaman tek bir iş oluşturulur ve tüm dosyalar sırayla kopyalanmaya başlar. Güçlü bir bilgisayarınız/sunucunuz olmasına rağmen 1 thread ile dosya kopyalamak işin çok uzun sürmesine sebep olacaktır.

Buna çözüm olarak ls ile klasör listesini alıp o listeyi istediğimiz kadar parçaya bölüp o kadar thread ile kopyalama yapabiliriz.

sudo su
ls -1 /kaynak | xargs -I {} -P 15 -n 1 sudo rsync -v --remove-source-files -avh /kaynak/{} /hedef

Yukarıdaki komutta kaynak ve hedef bölümlerini değiştirerek kullanabilirsiniz. -P parametresinden sonra yazılı olan 15, kaç adet parçaya bölerek kaç adet thread açacağını göstermektedir.

Size tavsiyem komutu sudo su konutu ile root olarak çalıştırmanızdır.

Linux Multithreading/Parallel File Copy anlatımımızı tamamladık. Bir dahaki anlatımda görüşmek üzere…