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天的文件的主要内容,如果未能解决你的问题,请参考以下文章
python 适用于Google云端硬盘的Python终端客户端,可轻松上传,删除,列出,共享文件或文件夹。 (参见评论中的用法)