SFTP: 이름 바꾸기/삭제 명령이 간헐적으로 실패함

SFTP: 이름 바꾸기/삭제 명령이 간헐적으로 실패함

여러 SFTP 서버에 연결하고, 일부 파일을 다운로드하고, 마지막으로 다운로드한 파일을 SFTP 서버의 다른 폴더로 이동하는 Ruby로 작성된 백그라운드 작업이 있습니다.

문제는 rename하나의 서버에서만 명령이 실패한다는 것입니다.

이 질문에서 흥미로운 점은ubuntu의 sftp 라이브러리나 Ruby의 대화형 콘솔을 사용하여 서버에 연결하고 백그라운드 작업에서 사용하는 것과 동일한 코드를 실행하면 실패하지 않습니다.따라서 권한 문제가 아닙니다.


두 번째 방법:

다음 해결 방법으로 구현을 업데이트했는데, 이것이 remove효과가 있기를 바랍니다.

  def move(from_path, to_path)
    sftp.rename(from_path, to_path) do |response|
      sftp.remove(from_path) unless response.ok?
    end
  end

위의 코드는 파일의 약 75%를 삭제하여 처리합니다.

여기서 무엇이 잘못될 수 있는지에 대한 아이디어가 있습니까?

여기에 사용된 라이브러리는 다음과 같습니다. https://github.com/net-ssh/net-sftp https://github.com/resque/resque

관련 정보