Archive

Archive for the ‘FTP Push’ Category

FTP Push v1.1

July 16th, 2010 No comments

Uzun zaman önce yazdığım ve yayınladığım FTP Push aracının (bütün hikayeyi buradan okuyabilirsiniz) 1.1 sürümünü yayınladım. Aslında geliştirme çalışmaları Nisan ayının sonlarında bitti. Ancak paketleyip yayınlamam biraz uzun zaman aldı. Yeni blog ile beraber yeni FTP Push sürümünü de yayına açmış oluyorum bugün itibariyle.

FTP Push v1.1 - Screenshot1.1′e eklenen özelliklerin bazıları baştan beri benim de aklımda olan özelliklerdi. Ancak bir çok önemli özellik kullanıcı istekleri ile geldi. Yeni sürümün en önemli özelliği, ayar dosyalarını güncellemek için kullanılabilecek bir arabirime sahip olması. Bunun dışında 64bit desteği, dosya sıkıştırma, şifreleme, ayar dosyalarını güvenli kaydetme, sadece değişen/güncellenen dosyaları yükleme ve görsel arabirim sayesinde sadece otomatikleştirilmiş (unattended) kullanım değil, manuel (attended) kullanımın da pratik bir hale kavuşması sayılabilir. 1.0′daki özelliklerin tamamı tabi ki korunuyor. Pakete dahil etmek zorunda olduğum sıkıştırma kütüphaneleri sebebiyle download boyutu ilk sürüme göre daha büyük. Ancak bu amaçla kullanılacak bir araç için yine kabul edilebilecek seviyede (Zip paketi büyüklüğü: 1.00 MB, Exe büyüklüğü: 2.43 MB)

Yazılımın yeni sürümü ile ilgili bütün detay bilgilere kendi sayfasından ulaşabilirsiniz. FTP Push sayfasına ulaşmak için buraya tıklayabilirsiniz (Sayfa şimdilik sadece İngilizce, Türkçe’sini de hazırlamaya çalışıyorum). Bu sayfada tam özellik listesi, ekran görüntüleri, kullanım örnekleri ve download linkleri bulunuyor.

Yorum ve önerilerinize her zaman olduğu gibi açığım, umarım araç sizin de işinize yarar…

FTP Push 1.0 – English

February 12th, 2010 No comments

While re-profiling our company’s backup strategy, we’ve needed a piece of software to use while copying files between servers and to our local system using FTP w/o interaction and preferably using command line paremeters. No promising solutions were available on the internet. Because this was a real “must” for us that we can not give up, I’ve decided to build the tool “FTP Push” that will fullfill our needs.

You can find the tool at http://ali.inal.info/FTPPush/FTPPush.zip. Because the tool is built with C# on .NET Framework 3.5, you need to have this Framework installation first. While fulfilling our needs, I’ve tried to build a more flexible tool in order to make it work in other similar cases for different users.

Here is some of the features:
* Because no user interaction is needed and is runnable through command line, you can set the tool as scheduled task and automate your jobs.
* By passing different setting files as parameter to tool, you can plan different profiled FTP uploads.
* Ports other than 21 are also supported so you may configure your firewall as needed.
* You can define unlimited number of folders in a setting file so all folders will be uploaded sequentially.
* You redirect different folders to different (or same) folders on target FTP sites. Folders will be created automatically in case of need.
* File search patterns can be defined on folders.
* Optionally, you can set the tool to recurse subfolders of upload folders.
* Upon completion of the upload procedure, an upload log report can be delivered to predefined admin list via e-mail.
* You can set mailing server settings and also perform SMTP Authentication.

Tool is using a setting file (like below) that can either be passed to tool as command line parameter or saved next to executable file as “settings.xml”:

<?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>

You’re able to set all features mentioned above using this XML file. Then just simply save this file next to exe file named as “settings.xml” or save it with another name and pass this name to exe file as command line parameter. By this way, you’ll be able to automate different upload task with just one exe file.

You can download and test the tool from http://ali.inal.info/FTPPush/FTPPush.zip. This tool will always be freeware. I’m open to all requests and suggestions, I’ll try to improve the tool as I find time.

I hope this tool also works for others…

FTP Push 1.0

February 11th, 2010 No comments

Ş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…

Categories: FTP Push, Tools Tags: , ,