Uzak Sunucudaki Dosyaları Sıkıştırma
12
●2.213
- 24-02-2013, 16:08:32merhabalar arkadaşlar C# 'da bir masaüstü uygulaması yapıyorum. Uzak sunucuya ftp ile bağlanıp oradaki dosyaları yedeklemek istiyorum fakat dosyaları tek tek indirmek yerine hepsini rar'layıp tek bir dosya halinde indirmek istiyorum. Daha önce bu tarz bişi ile ilgilenen varmı nasıl bir yol izlemeliyim ?
- 24-02-2013, 16:32:12biraz karışık geldi soru, indirmekten falan bahsetmişsiniz sonra sunucuda yapmak istiyorum demişsiniz..
tahmin yürüttüğümü söyleyeyim, ftp içinde 10 tane dosyanız var, bunların yedeğini direk almak istiyorsunuz ama 10 dosya şeklinde değilde tek rar haline getirip sonra bunu yapmak istiyorsunuz..
maalesef ftp, yapısı gereği böyle bir işleme izin vermez. ftp de sadece basit dosyalama işleri mevcuttur. (kopyalama,silme,isim değiştirme,klasör oluşturma v.s.) ancak uzaktan sıkıştıramazsınız.
ancak bir web uygulaması yaparsanız bu işlemler daha kolay olur. web uygulamanız ilgili klasördeki dosyaları zip olarak yedekleyebilir.. mantıklı olan bu.
sıkıştırma için gzip i kullanabilirsin
http://msdn.microsoft.com/en-us/libr...zipstream.aspx
ya da sharpzip
http://www.icsharpcode.net/OpenSourc.../Download.aspx
masaüstü uygulaması yapmak zorundaysanız bilgisayarınıza indirip, sıkıştırıp tekrar upload etmelisiniz.
iyi çalışmalar
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:32:12 -->-> Daha önceki mesaj 16:25:31 --
Edit:
forumlara baktım da
yapılabiliniyormuş sanırım http://www.webhostgear.com/35.html
mesela burada TAR başlığı altına bakın
tar -cf archive.tar contents/
ya da zip için
zip -r yourzipfilename.zip directoryname
ancak bu zip ya da tar komutları bildiğim kadarıyla ftp nin komutları değil.. araştırmanızı bu yönde yaparsanız belki ftp komutlarını sunucunuza yollayarak bu işi yaptırabilirsiniz - 24-02-2013, 16:37:28Evet hocam tam olarak bunu yapmak istyorum backup programı yazıyorum. Aslında dosyaları tek tek indirip rar'lamayıda düşündüğüm verdiğin linklerdeki gibi fakat ftp komutlarıyla dizinleri listelerken dosya klasör ayrımı yapılamıyor çünkü ftp fonksiyonu sadece ftp'deki dosya ve klasörlerin sadece isimlerini listeliyor. ( Yani Ftp'deki bir path'in dosya yada klasör olduğunu ayırt edemiyor) Geçerli path'in dosya yada klasör olduğunu anlamak içinde path'in içinde "." kontrolü yaptırmam gerekiyor fakat bu durumda klasör ismindede "." olduğunu varsayarsak doğru sonuç alamıyoruz. Bu yüzden tek tek dosya ise indir klasör ise içindeki dosyaları indir tarzında kontrol yapmak zor geliyor ve tüm dizinin rar'ını indirmek daha mantıklı geliyorertan2002 adlı üyeden alıntı: mesajı görüntüle
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:37:28 -->-> Daha önceki mesaj 16:34:48 --
Evet gelmek istediğim konuda tam olarak buydu bu işlemi zip -r komutu kullanarak yapabiliyormuşuz fakat bu işlemi C#'ta tam olarak nasıl kullanabileceğimi kestiremedim - 24-02-2013, 17:10:57zip komutunun ftp de olduğunu sanmıyorum yani hiç görmedim de, harici bir şey olabilir ..neyse komut göndermek için
sanırm sadece cmd kullanılıyor.
http://stackoverflow.com/a/5554764/1022138
burada da basit bi tool yapmışlar
http://stackoverflow.com/a/2327884/1022138
işini kolaylaştırır. alt yapısı da muhtemeln cmd dir ancak arplanda işliyordur.. incelemedim. bunu deneyebilirsin - 24-02-2013, 21:01:17C# üzerinden ssh komutlarını kullanamazmıyım ?Metallica adlı üyeden alıntı: mesajı görüntüle
- 25-02-2013, 03:46:12vps yada dedicated kullanıyorsanız kullabilirsiniz bazı hosting firmalarıda ücret karşılıgı ssh kullanım izni veriyor.burakoral adlı üyeden alıntı: mesajı görüntüle