sftp put: 실수로 파일을 덮어쓰는 것을 방지하는 방법

sftp put: 실수로 파일을 덮어쓰는 것을 방지하는 방법

저는 오랫동안 FileZilla를 사용하고 있습니다. 이제는 효율성 부족으로 인해 Linux 데스크톱에서 명령줄, sftpLinux 서버로 전환하고 있습니다.

sftp put명령은 업로드에 적합합니다. 하지만 FileZilla와 달리 서버에 있는 기존 파일을 덮어쓸 때 확인 메시지가 표시되지 않습니다. 나는 우발적인 보도에 대해 확실히 걱정하고 있습니다. sftp덮어쓰기 전에 확인을 요구하는 방법이 있나요 ?

답변1

아니요, put이 명령은 sftp기존 파일 덮어쓰기를 확인하는 대화형 프롬프트를 제공할 수 없습니다. 그것은 당신이 무엇을 하고 있는지 알고 있다고 가정합니다.

기존 파일을 업로드할 때 덮어쓰지 않으려면 이 sftp명령을 사용하여 mkdir원격 호스트에 디렉터리를 만들고 cd해당 디렉터리로 변경한 후 파일을 새 빈 디렉터리에 업로드하세요.

예를 들어,

uploaddir=$( date +upload_%F )  # i.e. something like "upload_2020-05-18"

sftp remote <<END_SFTP
cd some/remote/path
mkdir $uploaddir
cd $uploaddir
put myfile
END_SFTP

mkdir명령은실패하다생성하려는 디렉터리와 동일한 이름의 디렉터리가 이미 존재하는 경우. sftp위에서 언급한 것처럼 비대화형 배치 스크립트를 실행하는 경우 이 시점에서 스크립트가 종료됩니다.

관련 정보