如何将一个目录中的所有 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 即时共享文件?

对于那些我需要版本控制和 alpha 更新的人,我个人将 git 或 bazaar 存储库驻留在 Dropbox 文件夹中,在我的本地目录中提交,然后推送到 Dropbox 文件夹,比任何托管服务商都快。

相关内容