gpscp
Копирует файлы на несколько хостов одновременно.
Синтаксис
gpscp { -f <hostfile_gpssh> | -h <hostname> [ -h <hostname> ... ] }
[ -J <character> ]
[ -v ]
[ [ <user>@ ]<hostname>: ]<file_to_copy> ...
[ [ <user>@ ]<hostname>: ]<copy_to_path>
gpscp -?
gpscp --version
Описание
Утилита gpscp позволяет копировать файлы с указанных хостов на другие хосты одной командой с использованием SCP (secure copy).
Например, можно скопировать файл с мастер-хоста Greengage DB на все сегмент-хосты одновременно.
Для указания хостов используйте параметр -f для файла со списком хостов или параметр -h для отдельных имен хостов в командной строке.
Требуется указать хотя бы одно имя хоста (-h) или файл хостов (-f).
Параметр -J задает символ для подстановки вместо имени хоста в путях copy from и copy to.
Если параметр -J не указан, по умолчанию используется знак равенства (=).
Например, следующая команда скопирует .bashrc с локального хоста в каталог /home/gpadmin на всех хостах из файла hostfile_gpssh:
$ gpscp -f hostfile_gpssh .bashrc =:/home/gpadmin
Если имя пользователя не указано в списке хостов или через user@ в пути, gpscp копирует файлы от имени текущего пользователя.
Чтобы узнать текущего пользователя, выполните команду whoami.
По умолчанию gpscp переходит в каталог $HOME пользователя сессии на удаленных хостах.
Для корректного копирования рекомендуется использовать абсолютные пути.
Перед использованием gpscp необходимо настроить доверенные хосты.
Для обновления файлов известных хостов и обмена открытыми ключами воспользуйтесь утилитой gpssh-exkeys.
Параметры
- -f <hostfile_gpssh>
-
Файл со списком хостов, участвующих в сессии SCP. Синтаксис: один хост на строку.
<hostname>
- -h <hostname>
-
Имя хоста, участвующего в SCP-сессии. Параметр можно использовать несколько раз для указания нескольких хостов.
- -J <character>
-
Символ для подстановки вместо имени хоста в путях
copy fromиcopy to. По умолчанию используется знак равенства (=). - -v
-
(Опционально) Выводит дополнительные сообщения помимо вывода SCP-команды.
- <file_to_copy>
-
(Обязательно) Имя или абсолютный путь к файлу, который необходимо скопировать на другие хосты. Файл может находиться на локальном или на указанном удаленном хосте.
- <copy_to_path>
-
(Обязательно) Путь, по которому файл будет скопирован на указанных хостах. Если указан относительный путь, файл копируется относительно каталога $HOME пользователя сессии. Вместо имени хоста можно использовать знак равенства
=(или другой символ, заданный параметром-J). Каждое имя хоста будет подставлено из файла (-f) или параметра-h. - -?
-
Выводит справку.
- --version
-
Отображает версию утилиты.
Примеры
Скопировать файл installer.tar в корневой каталог (/) на всех хостах, указанных в файле hostfile_gpssh:
$ gpscp -f hostfile_gpssh installer.tar =:/
Скопировать файл myfuncs.so в указанный каталог на хостах sdw1 и sdw2:
$ gpscp -h sdw1 -h sdw2 myfuncs.so =:/usr/local/gpdb/lib