Skip to content

pftool/pftool

Repository files navigation

###############################################################################
          PFTool: Parallel File Tool
###############################################################################

PFTool (Parallel File Tool) can stat, copy, and compare files in parallel. 
It's optimized for an HPC workload and uses MPI for message passing.

Additional info:
Available under LANL LACC-2012-072.
see COPYRIGHT file

***************************************************************************
Dependencies
***************************************************************************

autoconf
automake
m4
libtool
mpi

***************************************************************************
Installing PFTool
***************************************************************************
From the top-level directory

./autogen

#To configure the base version:
./configure

#Other options:
#./configure --help

./make clean
./make all
./make install

Note that pftool.cfg is created and installed into {install_prefix}/etc
during the "make install". Setting in this file should be reviewed and 
modified based on the configuration of the cluster the software is
running on. 

***************************************************************************
Configuration
***************************************************************************
{install_prefix}/etc/pftool.cfg is read by the pftool scripts pfls, pfcm, pfcp

example config files located in ./etc/. 

***************************************************************************
Versioning
***************************************************************************
In order to change the version number for this project, modify the following
line in ./configure.ac:

AC_INIT([pftool], [2.0.5], [dsherril@lanl.gov])

Then rerun

./configure

Note that the maintainer information can be changed as well.

***************************************************************************
Using PFtool
***************************************************************************
PFTool can be invoked directly, but the preferred method is through helper
scripts located in {install_prefix}/scripts/

-----------

usage: pfls [options] source_path

List file(s) from source_path in parallel

optional arguments:
  -h, --help            show this help message and exit
  -R, --recursive       Recursive action
  -v, --verbose         Verbose output
  -e EXCLUDE, --exclude EXCLUDE
                        Exclude pattern
  -s, --symlinks        Do not dereference symlink arguments ( source or dest )

-----------

usage: pfcm [options] sourcePath destinationPath

compare file(s) from sourcePath to destinationPath in parallel

optional arguments:
  -h, --help            show this help message and exit
  -R, --recursive       Recursive action
  -D, --data            Compare data content of files, in addition to metadata
  -p, --preserve        Consider user/group ownership when comparing files to
                        copy
  -v, --verbose         Verbose output
  -e EXCLUDE, --exclude EXCLUDE
                        Exclude pattern
  -s, --symlinks        Do not dereference symlink arguments ( source or dest )


-----------

usage: pfcp [options] source_path dest_path

copy file(s) from source_path to dest_path in parallel

optional arguments:
  -h, --help            show this help message and exit
  -R, --recursive       Recursive action
  -v, --verbose         Verbose output
  -F, --different       Copy all files even if they do not appear to have
                        changed
  -g, --debug           Allows for gdb to attach
  -p, --preserve        Consider user/group ownership when comparing files to
                        copy
  -x SIZE, --syn_size SIZE
                        development only. Option may be used for future
                        feature
  -X PATTERN, --syn_pattern PATTERN
                        development only. Option may be used for future
                        feature
  -e EXCLUDE, --exclude EXCLUDE
                        Exclude pattern
  -s, --symlinks        Do not dereference symlink arguments ( source or dest )