# pmlogmv

## 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.
    


* * *