SFTP и добавить данные файла в уже существующий файл

Я новичок в unix. У моего клиента есть требование регулярно отправлять некоторые файлы данных на сервер sftp.

На сервере sftp уже существуют файлы с таким же именем. Они хотят, чтобы, когда мы отправляем sftp-файлы на сервер, он добавлял данные файла в существующий файл.

Допустим, на устаревшем сервере есть файл A.dat с 10 строками. Теперь я делаю sftp файл A.dat с 5 строками. Таким образом, после sftp на сервере sftp файл A.dat должен иметь 15 строк.

То же и с другими файлами. Кроме того, если файл не существует в системе sftp, сценарий должен разместить файл.

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

#!/usr/bin/expect -d
set timeout -1
spawn sftp user@server
expect "sftp>"
send "cd /destinationpathn"
expect "sftp>"
send "lcd /sourcepathn"
expect "sftp>"
send "put A.datn" 
expect "sftp>"
send "exitn"
interact

Не могли бы вы помочь в обновлении этого скрипта в соответствии с требованиями.

Что я узнал, SFTP не поддерживает Append, то как этого можно достичь с помощью ssh.

1 ответ
1

OpenSSH sftp клиент не поддерживает добавление.

  • Вам либо придется использовать другой SFTP-клиент.

  • Или прибегните к использованию доступа к оболочке, например:

    cat /sourcepath/A.dat | ssh user@server "cat >> /destinationpath/A.dat"
    
  • Или, если вы можете сохранить полный локальный файл, даже с исходным содержимым, вы можете использовать reput команда чтобы «возобновить» передачу файла.

  • У меня работает встроенная команда ssh user @ server «cat >> /destination/A.dat»

    — user1286147
    3 часа назад

  • Я не понимаю. Эта же команда должна работать даже в скрипте.

    – Martin Prikryl
    2 часа назад

  • Как записать это в скрипте для нескольких файлов?

    — user1286147
    2 часа назад

  • Я не понимаю, о чем вы просите. Просто повторите команду для каждого файла. В вашем вопросе также не упоминается несколько файлов. Если у вас возникли проблемы с реализацией этого для нескольких файлов, задайте для этого новый вопрос.

    – Martin Prikryl
    2 часа назад

  • обновленный вопрос, пожалуйста, проверьте и дайте мне знать, если вы можете помочь, пожалуйста

    — user1286147
    2 часа назад

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *