ewmscp  ..
ewmscp ewms

A collection of tools for event triggered copying and related tasks. For the individual commands a detailed description is found in the Modules section of the doxygen documentation.


This is a tool that has some of the functionality of cp and adds some extra features that normally require extra tools like chown, md5sum or setting extended atributes: hence the name e(ierlegende)w(oll)m(ilch)s(sau)cp ewmscp can run serveral copy processes at once and also run read,write and md5sum in parallel, but that only helps on really fast filesystems like gpfs, on a standard pc the IO is the limiting factor to such an extent that the scheduling cost for the multiple threads outweighs any gains.


This is a tool that watches a set of directories for files closed after write, moves or removals and produces output that can be piped to ewmscp, so that an almost live copy can be made.


This is a tool similar to the standard truncate(1), but without creating a file closed after write inotify event. Also an extended attribute can be set on the truncated files. It is meant to be used with the inotify_watch/ewmscp combo so that on the source dir space may be freed without erasing the files on the target side


This is a simple tool to test basic file operations. It can so various actions, see fileOpsTests –help.


This is a tool to map data and hole regions in sparse files.


This tool behaves similar to the usual md5sum, shaXXXsum tools and calculates or checks checksums. It's implemented as a shebang-wrapper around ewmscp.


This tool (obviously only available with gpfs support) sets the ACLs of the files and directories given on it's command line to the ACL they would have inherited from their parent. It works recursively on directories.

Site specific config

The main CMakeLists.txt looks for a sub-directory "site" and includes that if present. This feature is meant to hav site specific scripts and config files. Also some of the test scripts in the tests directory include site specific config from the site directory, if present.

The most comprehensive documentation can be found on https://ewmscp.pages.desy.de/ewmscp/