mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-02-03 14:01:57 +02:00
Rename ssh options
This commit is contained in:
parent
75b181c039
commit
ddf2b9b4b3
@ -74,8 +74,10 @@ const char *master_host = NULL;
|
||||
const char *master_port= NULL;
|
||||
const char *master_user = NULL;
|
||||
uint32 replica_timeout = REPLICA_TIMEOUT_DEFAULT;
|
||||
char *ssh_host;
|
||||
char *ssh_port;
|
||||
char *remote_host;
|
||||
char *remote_port;
|
||||
char *remote_proto = (char*)"ssh";
|
||||
char *ssh_config;
|
||||
bool is_remote_agent;
|
||||
bool is_remote_backup;
|
||||
|
||||
@ -172,10 +174,12 @@ static pgut_option options[] =
|
||||
{ 's', 16, "master-port", &master_port, SOURCE_CMDLINE, },
|
||||
{ 's', 17, "master-user", &master_user, SOURCE_CMDLINE, },
|
||||
{ 'u', 18, "replica-timeout", &replica_timeout, SOURCE_CMDLINE, SOURCE_DEFAULT, OPTION_UNIT_S },
|
||||
{ 's', 19, "ssh-host", &ssh_host, SOURCE_CMDLINE, },
|
||||
{ 's', 20, "ssh-port", &ssh_port, SOURCE_CMDLINE, },
|
||||
{ 'b', 21, "agent", &is_remote_agent, SOURCE_CMDLINE, },
|
||||
{ 'b', 22, "remote", &is_remote_backup, SOURCE_CMDLINE, },
|
||||
{ 's', 19, "remote-host", &remote_host, SOURCE_CMDLINE, },
|
||||
{ 's', 20, "remote-port", &remote_port, SOURCE_CMDLINE, },
|
||||
{ 's', 21, "remote-proto", &remote_proto, SOURCE_CMDLINE, },
|
||||
{ 's', 22, "ssh-config", &ssh_config, SOURCE_CMDLINE, },
|
||||
{ 'b', 23, "agent", &is_remote_agent, SOURCE_CMDLINE, },
|
||||
{ 'b', 24, "remote", &is_remote_backup, SOURCE_CMDLINE, },
|
||||
/* restore options */
|
||||
{ 's', 30, "time", &target_time, SOURCE_CMDLINE },
|
||||
{ 's', 31, "xid", &target_xid, SOURCE_CMDLINE },
|
||||
@ -382,8 +386,8 @@ main(int argc, char *argv[])
|
||||
if (!is_absolute_path(backup_path))
|
||||
elog(ERROR, "-B, --backup-path must be an absolute path");
|
||||
|
||||
if (ssh_host != NULL &&
|
||||
(backup_subcmd == BACKUP_CMD || backup_subcmd == ADD_INSTANCE_CMD || backup_subcmd == RESTORE_CMD))
|
||||
if (IsSshConnection()
|
||||
&& (backup_subcmd == BACKUP_CMD || backup_subcmd == ADD_INSTANCE_CMD || backup_subcmd == RESTORE_CMD))
|
||||
{
|
||||
if (is_remote_agent) {
|
||||
if (backup_subcmd != BACKUP_CMD) {
|
||||
@ -546,7 +550,7 @@ main(int argc, char *argv[])
|
||||
return do_init();
|
||||
case BACKUP_CMD:
|
||||
current.stream = stream_wal;
|
||||
if (ssh_host && !is_remote_agent)
|
||||
if (IsSshConnection() && !is_remote_agent)
|
||||
{
|
||||
current.status = BACKUP_STATUS_DONE;
|
||||
StrNCpy(current.program_version, PROGRAM_VERSION,
|
||||
@ -564,7 +568,7 @@ main(int argc, char *argv[])
|
||||
|
||||
elog(INFO, "Backup start, pg_probackup version: %s, backup ID: %s, backup mode: %s, instance: %s, stream: %s, remote: %s",
|
||||
PROGRAM_VERSION, base36enc(start_time), backup_mode, instance_name,
|
||||
stream_wal ? "true" : "false", ssh_host ? "true" : "false");
|
||||
stream_wal ? "true" : "false", remote_host ? "true" : "false");
|
||||
|
||||
return do_backup(start_time);
|
||||
}
|
||||
|
@ -332,6 +332,8 @@ typedef struct
|
||||
XLByteInSeg(xlrp, logSegNo)
|
||||
#endif
|
||||
|
||||
#define IsSshConnection() (remote_host != NULL && strcmp(remote_proto, "ssh") == 0)
|
||||
|
||||
/* directory options */
|
||||
extern char *backup_path;
|
||||
extern char backup_instance_path[MAXPGPATH];
|
||||
@ -351,8 +353,10 @@ extern char *replication_slot;
|
||||
extern bool smooth_checkpoint;
|
||||
#define ARCHIVE_TIMEOUT_DEFAULT 300
|
||||
extern uint32 archive_timeout;
|
||||
extern char *ssh_port;
|
||||
extern char *ssh_host;
|
||||
extern char *remote_port;
|
||||
extern char *remote_host;
|
||||
extern char *remote_proto;
|
||||
extern char *ssh_config;
|
||||
extern const char *master_db;
|
||||
extern const char *master_host;
|
||||
extern const char *master_port;
|
||||
|
@ -38,7 +38,7 @@ static bool fio_is_remote(fio_location location)
|
||||
{
|
||||
return location == FIO_REMOTE_HOST
|
||||
|| (location == FIO_BACKUP_HOST && is_remote_agent)
|
||||
|| (location == FIO_DB_HOST && !is_remote_agent && ssh_host != NULL);
|
||||
|| (location == FIO_DB_HOST && !is_remote_agent && IsSshConnection());
|
||||
}
|
||||
|
||||
static ssize_t fio_read_all(int fd, void* buf, size_t size)
|
||||
|
@ -25,7 +25,7 @@ int remote_execute(int argc, char* argv[], bool listen)
|
||||
{
|
||||
char cmd[MAX_CMDLINE_LENGTH];
|
||||
size_t dst = 0;
|
||||
char* ssh_argv[6];
|
||||
char* ssh_argv[8];
|
||||
int ssh_argc;
|
||||
int i;
|
||||
int outfd[2];
|
||||
@ -33,12 +33,16 @@ int remote_execute(int argc, char* argv[], bool listen)
|
||||
pid_t pid;
|
||||
|
||||
ssh_argc = 0;
|
||||
ssh_argv[ssh_argc++] = (char*)"ssh";
|
||||
if (ssh_port != 0) {
|
||||
ssh_argv[ssh_argc++] = remote_proto;
|
||||
if (remote_port != 0) {
|
||||
ssh_argv[ssh_argc++] = (char*)"-p";
|
||||
ssh_argv[ssh_argc++] = ssh_port;
|
||||
ssh_argv[ssh_argc++] = remote_port;
|
||||
}
|
||||
ssh_argv[ssh_argc++] = ssh_host;
|
||||
if (ssh_config != 0) {
|
||||
ssh_argv[ssh_argc++] = (char*)"-F";
|
||||
ssh_argv[ssh_argc++] = ssh_config;
|
||||
}
|
||||
ssh_argv[ssh_argc++] = remote_host;
|
||||
ssh_argv[ssh_argc++] = cmd+1;
|
||||
ssh_argv[ssh_argc] = NULL;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user