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...
Yorum Gönder