Previous: Status Mode, Up: Genfile [Contents][Index]
This mode is designed for testing the behavior of paxutils
commands when some of the files change during archiving. It supposes
that the command being executed supports --checkpoint and
--checkpoint-action options (see Checkpoints in GNU tar).
The ‘Exec Mode’ is enabled by --run command line
option (or its alias -r). The non-optional arguments
supply the command line to be executed. Genfile
modifies
this command line by inserting the following options between the
command name and first argument:
--checkpoint=n --checkpoint-action "echo=genfile checkpoint %u" --checkpoint-action "wait=SIGUSR1"
Here, n stands for the checkpoint granularity (for GNU
tar
, it is the number of archive records read or written
between each pair of checkpoints). The default value is 1. This
value can be changed using the optional argument to the --run
option. For example, to run actions on each 10th checkpoint:
genfile --run=10 ...
If the command line contains options, it must be preceded by a
double-dash (‘--’), which will prevent these options from being
interpreted by genfile
itself. For example:
genfile --run --checkpoint=2 --truncate foo -- tar -c -f a.tar .
Notice also, that when running tar
, its command line may
not contain traditional options (cluster of letters without dash).
A set of options is provided for defining checkpoint values and actions to be executed upon reaching them. Checkpoint values are introduced with the --checkpoint command line option. Argument to this option is the number of checkpoint in decimal.
Any number of actions may be specified after a checkpoint. Available actions are
Truncate file to the size specified by previous --length option (or 0, if it is not given).
Append data to file. The size of data and its pattern are given by previous --length and pattern options.
Update the access and modification times of file. These timestamps are changed to the current time, unless --date option was given, in which case they are changed to the specified time. Argument to --date option is a date specification in an almost arbitrary format (see Date input formats).
Execute given shell command.
Delete the named file or directory. If deleting the directory, it must be empty.
Option --verbose instructs genfile
to print on
standard output notifications about checkpoints being executed and to
verbosely describe exit status of the command.
While the command is being executed its standard output remains connected to descriptor 1. All messages it prints to file descriptor 2, except checkpoint notifications, are forwarded to standard error.
In exec mode, genfile
exits with the exit status of the
executed command.
Previous: Status Mode, Up: Genfile [Contents][Index]