Parallel MPI application to recursively update symlinks within a directory.

dreln walks the specified PATH and updates any symlink whose target includes an absolute path to OLDPATH and replaces that symlink with a new link whose target points to NEWPATH instead.

This is useful to update symlinks after migrating a large directory from one file system to another, whose links specify absolute paths to the original file system.


-i, --input FILE

Read source list from FILE. FILE must be generated by another tool from the mpiFileUtils suite.

-p, --preserve

Preserve existing modification times on links.

-r, --relative

Replace links using target paths that are relative to NEWPATH.

--progress N

Print progress message to stdout approximately every N seconds. The number of seconds must be a non-negative integer. A value of 0 disables progress messages.

-v, --verbose

Run in verbose mode.

-q, --quiet

Run tool silently. No output is printed.

-h, --help

Print a brief message listing the drm(1) options and usage.


1. To update all links under /walk/path whose targets point to /orig/path and replace them with targets that point to /new/path:

mpirun -np 128 dreln -v /orig/path /new/path /walk/path

2. Same as above, but replace each link target with a relative path from the link to its new target under /new/path:

mpirun -np 128 dreln -v --relative /orig/path /new/path /walk/path

  1. One can preserve existing modification times on links:

mpirun -np 128 dreln -v --preserve /orig/path /new/path /walk/path

  1. One can specifiy multiple paths to walk:

mpirun -np 128 dreln -v /orig/path /new/path /walk/path1 /walk/path2


The mpiFileUtils source code and all documentation may be downloaded from <https://github.com/hpc/mpifileutils>