대상이 존재하지 않는 경우에만 단일 파일을 복사하고 싶습니다. 소스 파일은 거의 변경되지 않으며 한 달에 한 번 정도 변경됩니다. 목적지가 거의 존재하지 않습니다.
-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
하지만 그 효과는 측정할 수 없을 것 같습니다.
('오래된 것'과 '새 것'은 모두 다음을 가리킨다.시간파일 수.