Remote copies with appush
and appull
¶
Purpose¶
As of 0.24.x apssh
comes with these two separate commands for automating file
copies in a parallel and asynchroneous way
Target selections¶
The mechanism for selecting targets (i.e. remote ssh endpoints) is identical to
the one in apssh
; refer to that section for more details
Remote file locations¶
You specify remote files by prefixing them with @:
and that will be replaced by the relevant ssh endpoints
Endpoint expansion¶
In all file parameters, it is possible to use the following specials that get expanded with the actual ssh endpoint information
{host}
: the short hostname{fqdn}
: the long hostname{user}
: the username
Examples¶
Pushing¶
Copy the same local file over to a variety of hosts
copy one local file on all remote home dirs
appush -t the_targets local_file @:
likewise but with several local files, and store remote copies in /etc/
appush -t the_targets local_file1 local_file2 @:/etc
in this third example here we would copy
local-box1
ontobox1.inria.fr:/etc/some-file
local-box2
intobox2:/etc/some-file
appush -t box1.inria.fr,box2 local-{host} @:/etc/some-file
Pulling¶
The same logic is at work for the other way around
copy the
/etc/fedora-release
files of 2 boxes, into respectivelysubdir/box1-fedora-release
subdir/box2-fedora-release
appull -t box1.inria.fr,box2 @:/etc/fedora-release the-releases/{host}-fedora-release
same but fetch several files in one go; this will create locally
the-releases/box1/fedora-release
andthe-releases/box1/lsb-release
for the first boxsame 2 files in the
the-releases/box2/
for the second box
appull -t -t box1.inria.fr,box2 @:/etc/fedora-release @:/etc/lsb-release the-releases/{host}/