Создание файла в папке с последующей записью в этот файл с помощью SSH

Я пытаюсь написать скрипт, который использует SSH, чтобы создать новый каталог и записать в него текстовый файл. У меня есть 1 мастер в сети, а затем 3 узла, на которых я хочу создать каталог. Эти 4 машины размещены на VMware.

#node1
ssh node1@192.168.1.102 'sudo touch /temp_dirname/host.txt'
ssh node1@192.168.1.102 'echo "node1" | sudo tee /temp_dirname/host.txt'

#node2
ssh node1@192.168.1.103 'sudo touch /temp_dirname/host.txt'
ssh node1@192.168.1.103 'echo "node1" | sudo tee /temp_dirname/host.txt'

#node3
ssh node3@192.168.1.104 'sudo touch /temp_dirname/host.txt'
ssh node3@192.168.1.104 'echo "node1" | sudo tee /temp_dirname/host.txt'

Когда я запускаю это, я получаю разные ошибки для каждого узла ... для узлов 1 и 2 я получаю

touch: cannot touch '/temp_dirname/host.txt': no such file or directory

и

tee: temp_dirname/host.txt: no such file or directory

и узел 3 I get:

touch: setting times of '/temp_dirname/ no such file or directory

и

tee: temp_dirname/host.txt: no such file or directory

Я совершенно запутался с этим, поскольку думал, что touch создал файлы - так почему такого файла или каталога нет.

1
задан 16 April 2019 в 00:02

1 ответ

Если /temp_dirname не существует, вы можете создать его с помощью mkdir -p /temp_dirname.

-p работает с любой произвольной глубиной, создавая каталоги по мере необходимости.

0
ответ дан 16 April 2019 в 00:02

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

Похожие вопросы: