Создайте файл на удаленном сервере с помощью nodejs

Как проще всего создать файл на удаленном сервере (доступ к которому можно получить по ssh) в NodeJS?

Пример: я работаю на своем локальном компьютере, и существует удаленный сервер с ip 192.168.1.100. Я хотел бы создать пустой текстовый файл на этом сервере по пути «/home/users/share».

Я попытался использовать некоторую библиотеку SCP в NodeJS, но не смог скопировать свой файл на удаленный сервер.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
1 676
2

Ответы 2

Что ты имеешь в виду?

Если файл создан в пути, у этого ssh есть доступ, и права установлены в порядке, то файл будет доступен.

Вы хотите сгенерировать данные на сервере и сохранить их? https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback

Выбрать файл с диска и загрузить его на сервер? например: https://www.w3schools.com/nodejs/nodejs_uploadfiles.asp

Я пытаюсь создать новый файл на удаленном сервере. Например, если у меня в сети есть сервер 192.168.1.100, и он содержит папку "/home/user/share" - я бы хотел добавить в эту папку файл "test.txt".

Nadav Miran 17.03.2019 14:19

@NadavMiran Я дал вам решение. Вы не поняли вопроса. Я имею в виду, как вы хотите создать этот файл: как получить данные для него.

bato3 17.03.2019 14:26

Моя цель - просто создать файл и добавить в него строку. Содержание не является моей главной проблемой. Спасибо, попробую найти решение по указанным ссылкам.

Nadav Miran 17.03.2019 15:33

Вы проверили ссылки, которые я предоставил? Первая ссылка: fs.writeFile. Также: fs.createWriteStream, fs.write, fs.writeFileSync, fs.writeSync

bato3 17.03.2019 18:23

Я проверил ссылки, но не нашел решения для создания моего файла на удаленном сервере. Легко сохранить новый файл в локальной файловой системе, но сохранить файл в удаленной файловой системе, кажется, сложнее.

Nadav Miran 20.03.2019 08:54

Вот почему так важно четко формулировать вопросы. Во-первых, у вас должен быть метод ручного создания такого файла, а затем код его в node. Один из вариантов у вас во втором ответе.

bato3 20.03.2019 13:06

Если я прав, вы хотите создать файл на другом сервере с помощью Nodejs и получить доступ к файлу с помощью ssh.

Если на вашем сервере установлен Linux, вы можете использовать команду rsync из терминала. Например rsync --chmod=u+rwx,g+rwx,o+rwx /path/to/file server:/path/to/file.

И если вы хотите, чтобы это было сделано из Nodejs, вы можете использовать библиотеку child_process для выполнения всех команд терминала.

const { exec } = require('child_process');
exec('rsync --chmod=u+rwx,g+rwx,o+rwx /path/to/file server:/path/to/file', (err,
    if (err) {
         // node couldn't execute the command
        return;
     }

});

Спасибо! я попытаюсь

Nadav Miran 20.03.2019 15:01

Другие вопросы по теме