Как проще всего создать файл на удаленном сервере (доступ к которому можно получить по ssh) в NodeJS?
Пример: я работаю на своем локальном компьютере, и существует удаленный сервер с ip 192.168.1.100. Я хотел бы создать пустой текстовый файл на этом сервере по пути «/home/users/share».
Я попытался использовать некоторую библиотеку SCP в NodeJS, но не смог скопировать свой файл на удаленный сервер.





Что ты имеешь в виду?
Если файл создан в пути, у этого ssh есть доступ, и права установлены в порядке, то файл будет доступен.
Вы хотите сгенерировать данные на сервере и сохранить их? https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback
Выбрать файл с диска и загрузить его на сервер? например: https://www.w3schools.com/nodejs/nodejs_uploadfiles.asp
@NadavMiran Я дал вам решение. Вы не поняли вопроса. Я имею в виду, как вы хотите создать этот файл: как получить данные для него.
Моя цель - просто создать файл и добавить в него строку. Содержание не является моей главной проблемой. Спасибо, попробую найти решение по указанным ссылкам.
Вы проверили ссылки, которые я предоставил? Первая ссылка: fs.writeFile. Также: fs.createWriteStream, fs.write, fs.writeFileSync, fs.writeSync
Я проверил ссылки, но не нашел решения для создания моего файла на удаленном сервере. Легко сохранить новый файл в локальной файловой системе, но сохранить файл в удаленной файловой системе, кажется, сложнее.
Вот почему так важно четко формулировать вопросы. Во-первых, у вас должен быть метод ручного создания такого файла, а затем код его в node. Один из вариантов у вас во втором ответе.
Если я прав, вы хотите создать файл на другом сервере с помощью 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;
}
});
Спасибо! я попытаюсь
Я пытаюсь создать новый файл на удаленном сервере. Например, если у меня в сети есть сервер 192.168.1.100, и он содержит папку "/home/user/share" - я бы хотел добавить в эту папку файл "test.txt".