Google云端硬盘,在特定文件夹中自动删除超过7天的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google云端硬盘,在特定文件夹中自动删除超过7天的文件相关的知识,希望对你有一定的参考价值。

我正在使用Google驱动器从我的linux机器存储我的每日备份。但我需要一个脚本,在7天后自动删除特定文件夹中的文件。这样文件夹中就有7个备份。

获得备份的文件称为world - $(date +%d-%m-%Y).tar.gz它将%d%m和%Y替换为创建备份的日期和年份。所以我们说它今天创建了一个它将被称为world-14-09-2018.tar.gz它被存储在一个名为backups的文件夹中

有没有办法让它自动删除文件,所以不存储垃圾桶,但7天后完全删除它们。

我对这种脚本并不熟悉。所以,如果有人能帮助我,真的很棒。

答案

您需要将REST API用于Google云端硬盘。有几种语言的官方客户端库,列出here

通过OAuth2验证您的帐户。根据您使用的客户端库,有不同的工具可以执行此操作。我最熟悉Python SDK,我使用的是Google的oauth2client。 run_flow()命令是获取OAuth2刷新令牌的简单方法,然后您可以使用该令牌来验证API调用。 Here是通过OAuth2向Google云端硬盘验证的完整文档。

经过身份验证后,您可以调用files list端点。默认情况下,这将列出我的驱动器中的所有文件。您可以将搜索限制为仅限于那些文件,这样您就不必每次使用search query遍历所有文件。如果你有更多的备份可以放在一个页面上(它看起来不像,特别是最大pageSize为1000),你将不得不paginate你的电话。

然后,您可以通过文件名(如您所示)或代码中的files.list中的createdTime参数过滤结果。确保在字段中包含createdTime,方法是将fields参数设置为以逗号分隔的参数列表,即“files(id,createdTime,name,mimeType)”或简单地“*”来获取每个字段。获取超过7天的所有文件的列表,然后调用files.delete。然后,您可以每晚在cron作业上运行此脚本,但是您要部署它。

或者,您可以使用非官方的Drive命令行工具,它将为您处理大量此类工具。

以上是关于Google云端硬盘,在特定文件夹中自动删除超过7天的文件的主要内容,如果未能解决你的问题,请参考以下文章

自动从Google云端硬盘中删除文件

从Google云端硬盘文件夹中删除旧文件

python 适用于Google云端硬盘的Python终端客户端,可轻松上传,删除,列出,共享文件或文件夹。 (参见评论中的用法)

Google 云端硬盘 - 搜索共享云端硬盘

使用Android应用无法在Google云端硬盘上看到PC上传的文件

将文件保存到Google云端硬盘中的共享文件夹