This project is read-only.
Project Description
ZipUp is a small tool which uploads files and folders to a (new) compressed file on an FTP-Server, without the need for intermediary local files on the disk.

ZipUp is a command-line tool which compresses the contents of a root folder to a FTP location without creating temporary archives on the local disk.


Why this tool? Here's why:

I'm renting a Windows server with FTP-Backup included and have always been quite annoyed by the backup-procedure: Create the backups itself (dump of SVN repos, backup of MS-SQL DBs, differential snapshot of some other folders) and then (the annoying part) compress all that to a temporary folder and only then upload the archives to the backup FTP account.

So I had been looking for a (command line) tool that would simply take some local path and a destination archive on an FTP-account and compress-upload the files from the local path without temporary files on the disk to the remote FTP location.
After several attempts and many hours of searching the net I abandoned the idea to look for an off-the-shelf tool and decided to have a look at available .NET libraries and if there was a library providing a FTP client and another one providing any type of compression, both (naturally) acting on streams.
Turns out there are (System.Net.FtpClient and DotNetZip, both available on nuget) and it's ridiculously simple to stack them together, so that a first quick attempt to zip-upload some files to a remote FTP location was successful after 5 minutes (one of which to set up the VS project, and two to install both nugets to the project) with a three-liner which didn't even require the slightest look at the libraries' doc.

So, anyways, after I added a minimum configuration mechanism to what should be zip-uploaded where to, I thought perhaps it might be useful to other people too. Right now, there is literally no error-handling whatsoever, and configuration-capabilities might already lack flexibility and fail to connect to many FTP-server configurations out there.

If ever there should be some interest in this tool, the tool might evolve to something more complete... feel free to use the tool, make suggestions or send patches with your improvements or bug-fixes. :)

Last edited Aug 25, 2013 at 10:27 AM by vamPierchen, version 2