Batchput transfers files from a local directory, matching the regex you specify, to an URL (FTP, FTPS, SFTP, HTTP, HTTPS, or anything else supported by PycURL / cURL). Written in Python, it is primarily intended to transfer "incoming" files continually to another host by being called regularly from crontab or similar. It focuses on doing this safely and efficiently by using per-directory locking to avoid collisions between different batchput processes, allowing configuration of notification in case of error (email by default, but can be any shell command/script/program), and moving transfered files to a local backup location where they can be archived or simply deleted.

Batchput was originally written as a tool to transfer text files containing business transactions from one system to another. With this in mind, it is not a useful tool for doing things like mirroring a directory structure etc. If that's what you want to do, there are many other good programs out there that will probably perform better.


The file releases can be found here.


To use batchput, simply copy the 'batchput' Python script to somewhere useful and call it from, for example, crontab.


Batchput is known to work with Python 2.4.3 and PycURL 7.16.1 on an HP-UX 11i server. Hopefully it should perform well on most other Unix- like operating systems, not sure about Windows though.


If you wish to discuss Batchput, visit the SourceForge forums.

For bug reporting, feature requests, etc - go to the Tracker pages instead.

Project web site

Please visit the SourceForge site for more details.

Batchput is copyright (C) 2004, 2007 Johan Warlander and distributed under the GNU General Public License.

Python powered Powered by cURL