디렉터리에 있는 모든 PDF를 Dropbox와 어떻게 동기화하나요?

디렉터리에 있는 모든 PDF를 Dropbox와 어떻게 동기화하나요?

디렉터리(내 Zotero 라이브러리)에 있는 모든 PDF를 Dropbox에 동기화하고 싶습니다. 마지막으로 디렉터리 이름이 아닌 모든 PDF 목록을 원합니다.

다음 명령을 사용하여 모든 PDF를 성공적으로 동기화했습니다.

rsync -az --include="*/" --include="*.pdf" --exclude="*" \ 
--prune-empty-dirs /zotero /dropbox

cron매일 해당 작업을 다시 수행하도록 작업을 쉽게 설정할 수 있을 것 같지만 아직 시도하지 않았습니다.

하지만 이제 Dropbox의 내 폴더에는 여전히 PDF가 포함된 모든 디렉터리가 포함되어 있습니다(예: 6NVTACJH > xyz.pdf).

내 질문: 하나의 디렉토리에만 모든 PDF 파일을 나열하고 싶습니다. 따르다제안웹에서 find모든 PDF를 시도하고 하드 링크를 만들었습니다.

하지만 이 명령은 아직 작동하지 않습니다.

ln $( find -name="*.pdf" -type f - links 1 ) /dropbox

마지막 명령을 실행하도록 도와주실 수 있나요?

답변1

파일 이름을 잘 처리하므로 명령 대체 대신 find -exec를 사용하는 것이 좋습니다.

모든 pdf 파일을 단일 레벨 /dropbox 디렉토리에 복사하려고 하면 어떻게 되나요?

find /zotero -type f -name '*.pdf' -exec cp {} /dropbox/ \;

링크를 원하시면:

find /zotero -type f -name '*.pdf' -exec ln {} /dropbox/ \;

업데이트: 단일 파일에서 rsync를 사용할 수 있습니다. cp/ln을 rsync로 바꾸면 됩니다(느리게 됩니다).

find /zotero -type f -name '*.pdf' -exec rsync -avz {} /dropbox/ \;

또 다른 옵션은 액세스 시간별로 업데이트를 제공하는 tar입니다.

왜 이렇게 해야 하는지 묻고 싶습니다. Dropbox의 제한된 버전 관리를 사용하고 있습니까? 아니면 Dropbox를 사용하여 파일을 즉시 공유하시나요?

버전 관리와 알파 업데이트가 필요한 사람들을 위해 저는 개인적으로 git 또는 bazaar 저장소를 Dropbox 폴더에 두고 로컬 디렉터리에 커밋한 다음 호스팅 제공업체보다 더 빠르게 Dropbox 폴더에 푸시합니다.

관련 정보