FMU_COPY_REVISION

This is a simple interactive script for copying a FMU revision folder with features:

  1. Selective copy, i.e. avoid data that can be regenerated

  2. Speed up copying by multithreading

  3. Retain correct file dates and user permissions

Usage:

fmu_copy_revision (for menu based input)

or

fmu_copy_revision –source 21.0.0 –target some –profile 3 –threads 6 –cleanup

or

fmu_copy_revision –source 21.0.0 (…other options are defaulted)

usage: fmu_copy_revision <commandline> OR interactive

Named Arguments

--dryrun

Run dry run for testing

Default: False

--all, -all, -a

List all folders

Default: False

--verbose, --verbosity, -v

Enable logging (messages) for debugging

Default: False

--cleanup

Remove (cleanup) if target already exists, default is False.

Default: False

--merge

Try a rsync merge if target already exists, default is False. Note this operation is currently somewhat experimental. Cannot be combined with –cleanup

Default: False

--skipestimate, --skip, -s

If present, skip estimation of current revision size.

Default: False

--source

Add source folder

--target

Add target folder

--profile

profile for copy profile to use, default is 4

--threads

Number of threads, default is computed automatically

Default: 99

--version

show program’s version number and exit

Copying Profiles

By default some file types and directories will be skipped. Here are some profiles:

  1. Copy everything

  2. Copy everything, except:

    • Directories with name backup

    • Directories with name users

    • Directories with name attic

    • Directories and files with names or extension .git or .svn

    • Files ending with ~

    • Empty folders (except those listed above) will be kept

  3. Copy everything, except:

    • All folders and files mentioned in option 2

    • The following folders under ert/ (if they exist):

      • output

      • ert/*/storage, including ert/storage (for backward compatibility)

    • The following folders or files under rms/ (if they exist):

      • input/seismic, model/*.log

    • The following files under rms/ (if they exist):

      • All files under output folders (folders will be kept!)

    • The following files and folders under spotfire/:

      • input/*.csv, input/*/.csv, model/*.dxp, model/*/*.dxp

    • The following folders under share/:

      • results

      • templates

    • Empty folders (at destination) except those listed above will kept

  4. As profile 3, but also all empty folder (at destination) will removed. This the DEFAULT profile!

  5. As profile 3, but keeps more data:

    • Folders and files rms/output will be kept

    • Folders and files share/results and share/templates will be kept.

  6. Only copy the <coviz> folder (if present), which shall be under <revision>/share/coviz:

    • Symbolic links will be kept, if possible

  7. Make your own filter rules in a named file.