cp 옵션 --no-clobber 및 --update

cp 옵션 --no-clobber 및 --update

대상이 존재하지 않는 경우에만 단일 파일을 복사하고 싶습니다. 소스 파일은 거의 변경되지 않으며 한 달에 한 번 정도 변경됩니다. 목적지가 거의 존재하지 않습니다.

-n옵션과 차이점이 있나요 -u? (아니면 둘다!)

cp통화에서 직접 crond. 다른 옵션은 사용되지 않습니다 cp.

동일한 cron 작업이 여러 시스템에서 동시에 호출되어 동일한 소스에서 데이터를 읽고 동일한 대상에 씁니다(둘 다 공유 GFS 전역 파일 시스템에서). 그 직후 대상 파일은 다른 프로세스에 의해 이동되므로 해당 파일이 존재할 수 있는 유일한 시간은 cron 작업이 여러 노드에서 동시에 실행되는 경주 중입니다.

어느 것이 더 효율적일까요? :

  • cp -n source dest
  • cp -u source dest
  • cp -nu source dest
  • cp -pu source dest

나는 현재 더 간단한 -n대안을 향해 기울고 있습니다.

답변1

-n와 결합하는 것은 의미가 없습니다 -u.

-n기존 파일을 덮어쓰지 않으려면 이 옵션을 사용하십시오.

-u최신 파일을 덮어쓰지 않으려면 사용하세요.

둘 사이의 차이점은 대상 파일이 소스 파일보다 오래되었다는 것입니다. 이 상황에서 어떤 일이 일어나기를 원하는지 생각하고 그에 따라 명령을 작성하세요.

-n나는 이것이 더 나을 것이라고 기대 -u하지만 그 효과는 측정할 수 없을 것 같습니다.

('오래된 것'과 '새 것'은 모두 다음을 가리킨다.시간파일 수.

관련 정보