scp 명령을 사용하여 대상 폴더를 덮어 쓰려면 어떻게해야합니까


41

scp 명령을 사용하여 scp 명령을 사용하여 일부 파일을 원격 PC에 복사합니다. :)

파일에 대한 scp 사본의 기본 동작은 기존 파일을 덮어 쓰는 것입니다. 이제 폴더를 복사하여 기본적으로 동일한 작업을 수행하려고합니다.

scp -r <source_path> user@myOtherPc:<dest_path>

<>의 ​​부분이 내 폴더 경로입니다. 그러나 이것을 실행하면 "file exist"라는 메시지가 나타납니다. 이 주위에 방법이 있습니까? 어떤 종류의 강제 덮어 쓰기?

고마워요, 사료


2
경로의 예를 들어 줄 수 있습니까? 내 시스템에서 이것을 재현하지 않습니다. 또한 파일 권한을 확인 했습니까?
Levans

상세 모드를 사용하는 경우 유용한 정보를 제공합니까? -v. 또한 대상 측에서 절대 또는 상대 경로를 사용하고 있습니까? 나는 대상 폴더가 이미 존재하는 경우, 덮어 쓰기 (보다는 대상 폴더 내부의 소스 경로를 만들 거라고 생각 testdir/testdir)
beroe

2
이것을 얻는 것이 이상합니다. 아마도 scp 에는 noclobber가 없습니다 ...
beroe

1
@ 레 반스 나는 권한을 확인하지 않았습니다, 나는 방금 살펴 보았고 당신이 옳을 수도 있다고 생각합니다. 대상 영역의 모든 항목을 삭제하고 "scp"명령과 "root"사용자 만 사용하여 다시 시작했으며 파일 / 폴더를 여러 번 복사 할 수있었습니다. 감사했지만, 지금은 아마 그것을 알아낼 수있는 문제에 대한 "핸들"이
code_fodder

1
@ beroe 예, 이것은 내가 생각한 것입니다 ... 혼동했지만 권한이있는 사용자 오류가 발생했다고 생각합니다. 아직 Linux 전문가는 아닙니다 :( 그러나 나는 장황함을 시도 할 것입니다 . 다음에 나는 또한 가끔 당신이 "폴더 내부-폴더"일어나고을 얻을 것으로 나타났습니다, 더 많은 정보를 얻을 덕분에 그런 문제를 가지고 ...하지만 그건 또 다른 문제입니다 : O
code_fodder

답변:


27

앞에서 말했듯이 scp는 이미 존재하는 모든 파일을 행복하게 덮어 씁니다.

"파일이 존재합니다"문제는 동일한 프로세스에 폴더와 파일을 쓰는 다른 프로세스 (예 : 동시 scp 프로세스 또는 다른 프로세스)가있는 경우에만 발생할 수 있습니다. 대신 rsync를 사용하십시오.


1
... : 해당 파일에 대한 쓰기 권한이있는 한 ...
SDsolar

그러나 폴더의 경우 폴더를 병합하거나 대체합니까?
Dr_Hope

5

Levans와 마찬가지로 이것을 복제 할 수는 없지만 대신 ssh를 통한 rsync 사용을 고려 했습니까? 많은 수의 파일을 복사하는 경우 rsync가 scp보다 더 나은 옵션 일 수 있습니다. 온라인에 대한 다음과 같은 유용한 안내서가 많이 있습니다.

http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html

첫 번째 링크는 cron을 통한 자동 백업을 처리하므로 일부 지침 (암호없이 ssh 키 작성 등)은 관련이 없을 수 있습니다.


흥미롭게도, 당신이 그런 식으로 rsync를 사용할 수 있다는 것을 몰랐습니다 ... man 페이지를 빠르게 보았고 <source_path> 및 <user @ host와 scp를 매우 비슷한 방식으로 사용할 수있는 것처럼 보입니다. dest_path> 매개 변수. 나는 그것이 dest에있는 것의 상태를 신경 쓰지 않고 항상 복사 / 덮어 쓰기를 원하기 때문에 그것이 내가 원하는 것임을 100 % 확신하지 못하지만 여전히 좋은 생각입니다 :)
code_fodder

예, 파일이 변경된 경우 파일을 복사해야하기 때문에 재생해야 할 수도 있습니다 (또는 변경된 파일의 일부, 다시 확인해야하며 너무 피곤합니다) 지금).
Ben

하하 .... 내가 그 물건을 할 수 있습니다, 그것을 확인하는 걱정 ...하지만하지 않습니다 감사 정보 : 대한
code_fodder

아, 멋지다, 나는 눈꺼풀을 열어 놓는 수단으로 성냥개비를 멈출 수있다. ;)
Ben

1
이것은 효과가 있지만, 슬레지 해머를 사용하여 비행을 시작하는 것과 같은 약간입니다. ;-)
SDsolar

3

대상 디렉토리에 전송하려는 소스 디렉토리와 이름이 같은 파일이 이미있는 경우이 오류 메시지가 표시됩니다. 같은 디렉토리에있는 디렉토리와 이름이 같은 파일을 가질 수 없습니다.

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