diff --git a/src/archive.c b/src/archive.c index 3333f096..d0f4893f 100644 --- a/src/archive.c +++ b/src/archive.c @@ -55,7 +55,7 @@ do_archive_push(char *wal_file_path, char *wal_file_name, bool overwrite) system_id); /* Create 'archlog_path' directory. Do nothing if it already exists. */ - dir_create_dir(arclog_path, DIR_PERMISSION); + fio_mkdir(arclog_path, DIR_PERMISSION, FIO_BACKUP_HOST); join_path_components(absolute_wal_file_path, current_dir, wal_file_path); join_path_components(backup_wal_file_path, arclog_path, wal_file_name); diff --git a/src/pg_probackup.c b/src/pg_probackup.c index 8f1cefe9..57d70d4d 100644 --- a/src/pg_probackup.c +++ b/src/pg_probackup.c @@ -347,7 +347,8 @@ main(int argc, char *argv[]) elog(ERROR, "-B, --backup-path must be an absolute path"); if (IsSshConnection() - && (backup_subcmd == BACKUP_CMD || backup_subcmd == ADD_INSTANCE_CMD || backup_subcmd == RESTORE_CMD)) + && (backup_subcmd == BACKUP_CMD || backup_subcmd == ADD_INSTANCE_CMD || backup_subcmd == RESTORE_CMD || + backup_subcmd == ARCHIVE_PUSH_CMD || backup_subcmd == ARCHIVE_GET_CMD)) { if (remote_agent) { if (backup_subcmd != BACKUP_CMD) { @@ -357,8 +358,8 @@ main(int argc, char *argv[]) fio_redirect(STDIN_FILENO, STDOUT_FILENO); } else { /* Execute remote probackup */ - int status = remote_execute(argc, argv, backup_subcmd == BACKUP_CMD); - if (status != 0) + int status = remote_execute(argc, argv, backup_subcmd == BACKUP_CMD || backup_subcmd == ARCHIVE_PUSH_CMD); + if (status != 0 || backup_subcmd == ARCHIVE_PUSH_CMD) { return status; } diff --git a/src/pg_probackup.h b/src/pg_probackup.h index aa025de9..7034dbb7 100644 --- a/src/pg_probackup.h +++ b/src/pg_probackup.h @@ -526,7 +526,7 @@ extern parray *dir_read_file_list(const char *root, const char *file_txt); extern int dir_create_dir(const char *path, mode_t mode); extern bool dir_is_empty(const char *path); -extern bool fileExists(const char *path, fio_location location); +extern bool fileExists(const char *path, fio_location location); extern size_t pgFileSize(const char *path); extern pgFile *pgFileNew(const char *path, bool omit_symlink, fio_location location);