PMLOGMV(1)

NAME
pmlogmv, pmlogcp - move (rename) or copy Performance Co-Pilot archive files

SYNOPSIS
pmlogmv [-cfNV?] [-D debug] srcname dstname
pmlogcp [-cfNV?] [-D debug] srcname dstname

DESCRIPTION
A Performance Co-Pilot (PCP) archive consists of multiple files as created by pmlogger(1). pmlogmv allows all the files of a single PCP archive to be moved or renamed as a group in a single operation. Similarly pmlogcp copies all the files of single PCP archive in a single operation.

The srcname argument identifies the target archive, and may be either the basename that is common to all files in that archive or one of the archive's files.

The new archive's basename is dstname, except when dstname is an existing directory, in which case the files are moved or copied into dstname using the same archive basename as srcname.

Because PCP archives are important records of system activity, special care is taken to ensure the integrity of an archive's files. For recoverable problems encountered during the execution of pmlogmv or pmlogcp, all the files associated with srcname will be preserved, and no new files with the dstname prefix will be created. ``Recoverable problems'' include signals that can be caught (such as SIGHUP, SIGINT, SIGQUIT and SIGTERM), permissions issues, new files already existing, file system full events, etc.

The implementation of pmlogmv tries to use hard links in the file system and so follows the semantic restrictions of ln(2) which for most systems means the directories containing both the srcname and the dstname PCP archive files need to be within the same file system. When this is not possible, pmlogmv falls back to using cp(1) to copy srcname to dstname.

pmlogcp always uses cp(1).

OPTIONS
The available command line options are:

-c, --checksum
    Paranoid checking mode when cp(1) is needed and each file's checksum is computed for the original file and the copied file, and the checksums must match before the copy is considered acceptable. The checksum command is chosen by trying the following in turn until one is found to be executable: md5sum(1), sha256sum(1), sha1sum(1) and sum(1). If no executable checksum command is found, a warning is issued and the checksum check is skipped.

-f, --force
    Normally pmlogmv and pmlogcp take a conservative view in respect of dstname and will not proceed if dstname contains any characters that are likely to cause a problem for sh(1). This includes ``glob'' characters like ``?'', ``*'' and ``['', shell syntax meta characters like ``('', ``|'', ``;'' and ``&'', shell I/O redirection characters like ``<'' and ``>'', the dollar sign, a space, etc.

    The -f flag forces the rename or copy to proceed, even if dstname contains any of these ``unsafe'' characters.

-N, --showme
    Perform a dry-run, checking and reporting what changes would be made without making any changes.

-V, --verbose
    Enable verbose mode.

-?, --help
    Display usage message and exit.

DIAGNOSTICS
All error and warning messages are intended to be easily understood and errors produce a non-zero exit status.

DEBUGGING OPTIONS
The -D or --debug option enables the output of additional diagnostics on stderr to help triage problems, although the information is sometimes cryptic and primarily intended to provide guidance for developers rather end-users. debug is a comma separated list of debugging options; use pmdbg(1) with the -l option to obtain a list of the available debugging options and their meaning.

SEE ALSO
cp(1), ln(1), md5sum(1), PCPIntro(1), pmlogger(1), sha1sum(1), sha256sum(1) and LOGARCHIVE(5).