마지막 날에 만든 파일 만 다른 폴더로 복사하는 스크립트를 작성 중입니다. 내가 겪고있는 문제는 하루 미만의 파일 대신 원본 디렉토리의 모든 파일을 복사하는 스크립트입니다.
이것이 내가 가진 것입니다 :
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
위의 코드는 소스 디렉토리의 모든 파일을 복사합니다. 'cp'에 대한 모든 인수를 제거하면 작동합니다.
find . -mtime -1 -exec cp "{}" /somefolder \;
위의 코드는 원하는 최신 파일 만 복사하지만 cp 인수를 사용하여 속성을 유지해야합니다.
나는 또한 변수를 시도했고 for 루프는 -exec 옵션이 문제라고 생각했습니다.
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
그러나 위의 for 루프로 인해 동일한 문제가 발생하여 모든 파일이 복사됩니다. $ files를 에코하면 필요한 파일 만 표시됩니다.
이 기능을 작동 시키려면 어떻게해야합니까?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;