GFPCOPY(1)
π GFPCOPY(1) β the Gfarm parallel-copy bestie π
okay so real talk: this is the manual page for gfpcopy, one of the Gfarm girlies, and she is that girl. Gfarm energy, parallel everything, directory recursion, the works. Let's get into it π
β¨ NAME β¨
gfpcopy β copy Gfarm files in parallel π¦
β¨ SYNOPSIS β¨
gfpcopy [-nqvdpPU] [-X regexp] [-S source-domainname]
[-h source-hostfile] [-D destination-domainname]
[-H destination-hostfile] [-j num-of-processes]
[-J num-of-processes] [-M limit-byte] [-z minimum-byte]
[-Z maximum-byte] [-w way-of-scheduling]
[-W kilobytes-for-threshold] [-s KB/s-to-simulate]
[-F num-for-readahead] [-b bufsize] [-f] [-e] [-k] source-path
destination-path
β¨ DESCRIPTION β¨
So basically, gfpcopy copies files in parallel. Like, multiple at once. Iconic behaviour fr fr π₯
When the source-path is a directory, the files under that directory get copied recursively. It goes all the way down, no cap.
When the destination-path does not exist, the directory is created. When the destination-path does exist, a directory with the same name as the source-path gets created underneath the destination-path. The way she just handles that for you π
A set of source/destination hosts can be specified by a domain name and/or a hostlist file. When both a domain name and a hostlist file are specified, the set of hosts is determined by both conditions together (yes, both, they collab). When a set of source hosts is specified, only files stored on those source hosts get copied.
gfpcopy also retrieves the directory entries in parallel too, because why would she do anything one at a time π
β¨ SOURCE PATH β¨
source-path has to be one of these formats, bestie. Also heads up: files on HPSS cannot be copied. π
path-nameβ this is a relative path or an absolute path of a local file system. When the path is a mount point ongfarm2fs, files are copied without passing through thegfarm2fs. Sneaky (affectionate).gfarm:...β this is a Gfarm URL πfile:...β this is an URL of a local file system.
β¨ DESTINATION PATH β¨
destination-path has to be one of these formats:
path-nameβ a relative path or an absolute path of a local file system. When the path is a mount point ongfarm2fs, files are copied without passing through thegfarm2fs.gfarm:...β a Gfarm URL of a directory.file:...β an URL of a directory on a local file system.hpss:...β an URL of a directory on HPSS. β οΈ If the same directory as the source-path exists under this directory, the source-path cannot be copied. Also the differential copy is not supported for HPSS, so don't come for her about that. Relative paths likehpss:.andhpss:dircan be specified though π«Ά
β¨ GFPCOPY OPTIONS β¨
These are the options that are only for gfpcopy, her exclusive little set π
-bbufsize β Specifies the buffer size in bytes to copy. The default value is64 KiB(64 * 1024).-fβ With the-foption, existing files will be overwritten when the size is different or the modification time (mtime) is different from the source file. Without the-foption, existing files will be overwritten when they are older than the corresponding source files in the modification time. Pick your fighter β¨-eβ Skips existing files in order to executegfpcopysimultaneously. She's not redoing work, periodt.-kβ Does not copy symbolic links. π«π
β¨ COMMON OPTIONS β¨
The following options are common options for gfprep and gfpcopy β shared besties π«Ά
-Xregexp β Skips files matched by the pattern of regexp. When multiple patterns need to be specified, specify-Xoptions multiple times. Stack 'em up π§-Ssource-domainname β Creates file replicas or copies files only stored on the hosts in the specified domain name.-hsource-hostfile β Creates file replicas or copies files only stored on the hosts listed in the specified hostfile. The source-hostfile consists of a file system node name on each line. If-is specified, standard input is used to read the host list. π-Lβ Creates file replicas or copies files from the hosts specified by the-Sor-hoption.-Ddestination-domainname β Specifies the domain name for destination. If neither this nor the-Hoption is specified, replicas may be copied to any available host. Free spirit π«-Hdestination-hostfile β Specifies a file which describes hostnames for destination. The destination-hostfile consists of a file system node name on each line. If-is specified, standard input is used to read the host list.-jnum-of-processes β Specifies the maximum number of processes to create file replicas (or copy files) simultaneously. The default value is the parameter ofclient_parallel_copyingfarm2.conf. (seeman gfarm2.conf) The maximum number of process per file system node for source or destination is the number of CPUs (seeman gfhost). π₯οΈβ¨-Jnum-of-processes β Specifies the number of processes to retrieve directory entries in parallel. The default value is8.-Mtotal-byte β Specifies the total file size in bytes to replicate or copy. This option is useful to increase the available capacity by moving the specified bytes of files. The default value is unlimited. βΎοΈ-zminimum-byte β Specifies the minimum file size in bytes to replicate or copy. This option is useful not to replicate or copy small files. The default value is unlimited.-Zmaximum-byte β Specifies the maximum file size in bytes to replicate or copy. This option is useful not to replicate or copy large files. The default value is unlimited.-wway-of-scheduling β Specifies a scheduling method.noplanreplicates/copies while finding files.greedyschedules greedily the order of replication/copy beforehand. The default behavior isnoplan. β οΈgreedyscheduling cannot be used with the-Noption and-moption.-Wkibibytes β Specifies a threshold size/cost (KiB) to flat costs of Connections. A Connection means a scheduling information to assign files per a child-process. This option is effective with-w greedy. The default value is50*1024 KiB(50 MiB).-Isec-to-update β Specifies the interval in seconds to collect load average and available capacity. Default is300seconds. β°-Bβ Gfarm2.6.16or later does not select high loaded file system nodes. This option disables this feature. High loaded node is defined by having more CPU load thanschedule_busy_load_thresh * number of CPUs. For details ofschedule_busy_load_thresh, refer to a manual page ofgfarm2.conf. She's tired, let her rest π-Uβ Disables checking the available disk space of the selected node every time.-Fnum-of-dirents β Specifies the number of readahead entries to retrieve the directory entries. The default value is10000.-skilobytes-per-second β Specifies a throughput (KB/s) to simulate the replication/copy, and does nothing (gets file information only). Fake it till you make it π-nβ Does nothing.-pβ Reports the total performance information. π-Pβ Reports the performance information for each file and all files.-qβ Suppresses non-error messages. π€«-vβ Displays verbose output.-dβ Displays debug output. π-?β Displays a list of command options.
β¨ EXAMPLES β¨
To copy files under the directory recursively:
$ gfpcopy gfarm:///dir file:///tmp/dir
$ gfpcopy file:///tmp/dir gfarm:///dir
$ gfpcopy gfarm:///dir1 gfarm:///dir2
$ gfpcopy gfarm:///dir hpss:///tmp/dir
$ cd /mnt/gfarm2fs
$ gfpcopy dir /tmp/dir
To copy a file:
$ gfpcopy gfarm:///dir/file file:///dir
$ cd /mnt/gfarm2fs
$ gfpcopy file /tmp/dir
β¨ NOTES β¨
To retrieve the directory entries efficiently, it is better to execute the gfpcopy command near the metadata server. When you need to execute the gfpcopy command far from the metadata server, increase the parallelism by the -j and -J options. Basically: stay close to the metadata server, or turn the parallel dials way up πΈ
β¨ SEE ALSO β¨
gfprep(1), gfreg(1), gfexport(1), gfarm2.conf(5)
π that's the whole page bestie, you ate it. go copy some files in parallel, you've got this π«Ά
this has been the Gfarm manual page for gfpcopy, from the Gfarm girlies β dated 27 Aug 2015 β¨
π¦ where this page comes from
- debian bookworm: gfarm-client 2.7.20+dfsg-1+b2 Β· BSD-like
- debian trixie: gfarm-client 2.7.20+dfsg-1.2+b1 Β· BSD-like
- ubuntu noble: gfarm-client 2.7.20+dfsg-1.1ubuntu1 Β· BSD-like
- ubuntu questing: gfarm-client 2.7.20+dfsg-1.2
- ubuntu resolute: gfarm-client 2.7.20+dfsg-1.3 Β· BSD-like
- ubuntu stonking: gfarm-client 2.7.20+dfsg-1.3build1 Β· BSD-like
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms