1.200.000 dosyayı kopyalamak

07.01.2007

Okuyucu : 2.064
Günlük Okuyucu : 4,2

Log Dosyası olmadan SQL Server veri tabanı restore etme makalesinde de bahsettiğim gibi bir iki haftadır binlerce dosya kayıtla cebelleşmekteyim. Yüksek sayıda dosya saklama başa beladır. Eğer bir ki bir klasörde dosya sayısı 10.000' in üzerindeyse bir çok işletim sisteminde o klasörde yapacağınız bazı işlemler size çok pahalıya patlayacaktır.

Ancak eğer ki Windows Explorer gibi bir arabirimle bu kısma ulaşacaksanız o zaman daha da ciddi sorunlarınız var. Ek olarak genelde 500.000 gibi rakamlardan sonra sistemi de rahatça elinize alabilirsiniz. Bunun bir çoğumuz gibi bende bilincindeyim bu yüzden programatik olarak milyonlarca dosya oluştururken eğer dosyalama yapısı önemli değil ve sadece programatik olarak ulaşacaksam şu tarz bir kod kullanıyorum.

Dim dosyaadi AS String = (ID MOD 1000).ToString

Buradaki örnekte bir klasörde toplam sayı / 1000 kadar dosya olacak (1 milyon kayıt için bir klasörde 1000 kayıt olacak). Ek olarak aynı şekilde 1000 dosyada bir yeni bir klasör açabilirsiniz, genelde bu daha iyi bir yöntem.

İkinci sorun ise bu dosyaların yedeğini almak. Büyük bir gaflet yaparak ana klasörü seçip kopyalamaya çalıştım. Windows yaklaşık 10-15 dk. hazırlanıyor dedi (neyi kontrol ettiği hakkında bir fikrim yok, belki de sadece ne kadar kaldı ve dosya sayısı gösterebilmek için) tabii ki hemen iptal edip eski bir dosta başvurduk. XCOPY!

Yorumlar

RSS Bu makalenin yorumlarını RSS ile takip et!

Dosyanın boyutundan çok dosya sayısı önemli gibi görünüyor :)
100 mblık 1 dosyayı mı yoksa 1 bytlelık binlerce dosya mı?
sanırım 1. si daha hızlı :)

tehlike [ # | 07.01.2007 ]

Eger data buyuskse zaten bolmeyte gerek yok hatta yeterince vaktiniz varsa en guzeli zip gibi bir sey ile sadece store etmek yada tar gibi bir sey kullanmak.

Ferruh Mavituna [ # | 08.01.2007 ]

Windows üzerindeki kopyalama işleri çok aptalca ilerliyor. Örneğin, 1000 kadar dosya kopyalıyor olsanız ve bu dosyalardan 662. dosyada hata olsa okuyamasa "zınk okunamadı" diyor ve işlemi durduyor. Ordaya bir "on error resume next" koyamamışlar. Aynı durum Linuxta söz konusu dahi değil. Windows üstünde kopyalama işlemleri için "TotalCopy" kullanıyorum. Tavsiye ederim basit, kullanışlı bir yazılım ve hızlı da kopyalıyor.

http://www.ranvik.net/totalcopy/

Fatih ÜNAL [ # | 09.01.2007 ]

Vista'da o sorunu halletmişler sanki,
tamam hala kopyalama öncesi süre çok uzun ama bir dosya okunamaz/kopyalanamaz ise bu dosyayı atla diyebiliyorsun, veya işlemi durdurabiliyorsun...
+Vista'da explorer özellikleri sanki kde gibi geldi bana,
özellikle resim ve videoların önizlemeleri, simge yerine artık klasörlerde kde nin aynı şekilde videonun veya resmin küçük bir önizleme resmi var,
hatta birçok şeyde linuxte de vardı bu dedim son bir kaç gündür:)

Yusuf Emre Ünalan [ # | 10.01.2007 ]

Bu tip islemler icin FAR Manager siddetle tavsiye edilir. Ferruh aklinda olsun ;)

http://www.google.com.tr/search?q=far+manager

Zubeyr Dereli [ # | 11.01.2007 ]

Bu FAR Manager 'i kurcaladım zamanında velhasıl tam olarak birşey anlamadım.
Norton Commander benzeri bir şey midir?

Fatih ÜNAL [ # | 12.01.2007 ]

Yorum Ekle





Kullanılabilir Taglar : [<blockquote>] [<strong>] [<em>]

1.200.000 dosyayı kopyalamak ile İlişkili Olabilecek Yazılar - Haberler

Tekerleği Yeniden Keşfetmeyin
Korsan Yazılımsız İki Yıl
Pragmatic Programmer Notları
OSX' i Windows' a Benzetme
Donanım Yazılımcıdan Ucuzdur

Diğer Yazılar

Neredeyim ?

Ferruh.Mavituna » Haberler » 1.200.000 dosyayı kopyalamak

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında