scp가 대상 파일을 덮어 쓰지 않는 이유는 무엇입니까?


14

명령을 통해 파일을 백업하려고합니다.

scp /tmp/backup.tar.gz 호스트 이름 : /home/user/backup.tar.gz

그것을 실행하면 scp 진행률 표시 줄이 나타나고 파일을 전송하는 것처럼 보이지만 대상 서버에 로그인하여 파일을 확인하면 타임 스탬프와 파일 크기가 이전 버전에서 변경되지 않았으므로 scp는 이전 파일을 전혀 덮어 쓰지 않았습니다. 대상 서버에서 파일을 수동으로 삭제할 때만 작동합니다.

우분투를 실행 중이며 이는 cygwin ssh 하나와 fedora core 3 서버 두 대에서 발생합니다.

왜 이런 일이 일어나고 있는지 아는 사람이 있습니까? scp는 기존 파일 만 덮어 쓸 것이라고 생각했습니다.

감사


1
CentOS 6.0에서도 발생합니다. Slackware 12.1에서 파일을 복사하고 있습니다. 클라이언트 ssh 버전은 5.0p1이고 서버 ssh 버전은 5.3p1입니다.
밀라노 Babuškov

1
일부 프로세스가 파일을 다시 바꾸지 않는지 확인 했습니까? rsync로 인해 과거에도 같은 문제가 발생했습니다. Cheers, RT
user438115

리눅스 민트에서도 happes. 미친
데니스

답변:


9

대상 파일 이름을 생략하고 디렉토리 만 지정하면 작동합니다.

scp /tmp/backup.tar.gz hostname:/home/user/

왜 그런지 이해하지 못하지만 문제에 대한 해결책 일 수도 있습니다.


1

데비안 / 레니에서 이것은 작동합니다. 아마도 당신은 사용scp -v $localFile $RemoteHost:$RemotePath/$localFile

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.