This post is also available in English

Şirketimin yedeklerini sunucular arasında ve yerel disklerimize çekmek için, kullanıcı etkileşimi olmadan (tercihen komut satırından) çalışabilecek bir FTP gönderim uygulamasına ihtiyaç duyduk. İnternet üzerindeki aramalarda çok iç açıcı çözümlere ulaşamadık. Bu bizim için önemli ve vazgeçemeyeceğimiz bir ihtiyaç olduğu için bu işi görecek bir uygulama geliştirmeye karar verdim ve komut satırından çalışan "FTP Push" uygulamasını geliştirdim.

Uygulamaya http://ali.inal.info/FTPPush/FTPPush.zip adresinden erişebilirsiniz. Uygulama, C# dili ile .NET Framework 3.5 kullanılarak geliştirildiği için öncelikle bu Framework'ün kurulu olması gerekiyor. Bizim ihtiyaçlarımızı karşılayacak bir uygulama geliştirirken bazı özellikleri de geniş tutarak bu konuda sıkıntı çeken başkalarının ihtiyaçlarını da karşılayabilmeyi düşündüm.

Desteklenen bazı özellikler şöyle:
* Komut satırından çalıştırılabildiği ve kullanıcı etkileşimi gerektirmediği için sisteminizde zamanlı görev olarak kurabilir, çalışmalarınızı otomize edebilirsiniz.
* Farklı ayar dosyalarını parametre olarak geçirerel farklı profildeki FTP yüklemelerini planlayabilirsiniz.
* 21 haricindeki portları da desteklediği için firewall sorunlarının önüne geçebilirsiniz.
* Tek bir görev dosyasının içerisinde sınırsız sayıda dizin belirtip, sırayla hepsinin yüklenmesini sağlayabilirsiniz.
* Her bir dizin yüklemesini, FTP sunucusu üzerindeki farklı dizinlere yönlendirebilirsiniz.
* Yüklenecek kaynak dizinler üzerinde dosya filtresi uygulayabilirsiniz.
* Belirttiğiniz dizinlerin alt dizinlerinin de yüklenmesini (opsiyonel olarak) sağlayabilirsiniz.
* Upload işlemi tamamlandığında, tanımladığınız admin adreslerine yükleme raporunun e-posta aracılığı ile gönderilmesini sağlayabilirsiniz.
* E-posta sunucusu ayarlarını değiştirebilir, SMTP Authentication yapabilirsiniz.

Uygulama, komut satırından parametre olarak geçirebileceğiniz veya uygulama dizinine settings.xml adıyla kaydedebileceğiniz, aşağıdaki yapıya sahip XML dosyasını ayar dosyası olarak kabul ediyor:

<?xml version="1.0"?>
<FTPInfo>
<server address="ftp://ftp.yourdomain.com" port="21">
<credentials>
<UserName>ftppush.user</UserName>
<Password>ftppush.password</Password>
<Domain />
</credentials>
</server>
<folders>
<folder localPath="d:\Backups\PSTs" remotePath="PSTs" filter="*.pst" recurse="true" />
<folder localPath="d:\Backups\DBs" remotePath="DBs" filter="*.mdb;*.mdf;*.accdb" recurse="true" />
</folders>
<mailing server="smtp.yourdomain.com" port="35" subject="FTP Push Status Info">
<authenticateAs>
<UserName>sender@yourdomain.com</UserName>
<Password>password</Password>
<Domain />
</authenticateAs>
<fromName>FTP Push Service</fromName>
<fromEmail>sender@yourdomain.com</fromEmail>
<admins>
<admin>admin1@yourdomain.com</admin>
<admin>admin2@yourdomain.com</admin>
</admins>
</mailing>
</FTPInfo>

Yukarıda bahsettiğim özelliklerin tamamını bu XML dosyası ile ayarlamanız mümkün. Bu XML dosyasını, exe dosyasının yanına settings.xml olarak kaydetmeniz yeterli. Veya farklı bir isimle kaydedip, exe dosyasına parametre olarak dosya adını geçirirseniz, bu xml dosyası ayar dosyası olarak kullanılacaktır. Bu sayede farklı ayarlarınızı aynı exe ile otomize etmeniz mümkün olacaktır.

Programı http://ali.inal.info/FTPPush/FTPPush.zip adresinden indirip, deneyebilirsiniz. Yazılımı tamamen freeware olarak tutacağım. Öneri ve isteklere açığım, elim deydiğince uygulamayı geliştirmeyi deneyeceğim.

Umarım benden başka birilerinin de işine yarar...

Copyright Ali INAL ©2009 - Creative Commons Licence
preload preload preload

Taşındık!


Ali's Surprisingly Web blog'u, artık yeni, güçlü ve daha esnek altyapısıyla yeni adresinden yayın yapıyor. Yeni adresimiz: http://surprisingly.web.tr. Bu eski blog sayfalarındaki bütün içerik, yeni blog altyapısına da taşındı. Arzu ederseniz sizi yeni blog'umda ağırlamak isterim.
Yeni blog'a gitmek istiyorum Bu sayfayı okumak istiyorum

We've Moved!


Ali's Surprisingly Web Blog is now serving from a new, stronger and flexible system with a brand new address. Our new address: http://surprisingly.web.tr. Also we've migrated all old content from this blog to our new blog. If you wish, I want to welcome yo to my new blog.
I want to visit new blog I want to stay and read this page