【问题标题】:Schedule gsutil command调度 gsutil 命令
【发布时间】:2021-01-17 20:49:47
【问题描述】:

我正在使用 gsutil 将数据从本地机器文件加载到 GCS。但现在我想将它安排为 20 分钟间隔,数据将从本地机器导出到谷歌云存储。我们如何创建这种类型的 cron 作业我应该在哪里创建?

【问题讨论】:

    标签: google-cloud-platform scheduling gsutil


    【解决方案1】:

    您应该在本地计算机中创建一个脚本来完成此任务。

    它可能看起来像这样(确保您授予文件可执行权限):

    #! /bin/bash
    
    PATH="$PATH":[REPLACE with /path/to/gsutil/]
    
    # The ".boto" file contains the settings that helps you do operations with your bucket: https://cloud.google.com/storage/docs/boto-gsutil
    export BOTO_CONFIG=[REPLACE with "/home/username/.boto"]
    
    # upload the file with the relevant gsutil command
    gsutil cp [Replace with OBJECT_LOCATION] gs://[REPLACE with DESTINATION_BUCKET_NAME]/
    

    以下 cron 计划表达式:*/20 * * * * 应该每 20 分钟触发一次作业,因此使用 crontab –e 编辑 crontab 文件并添加以下行:

    */20 * * * * [PATH-TO-SCRIPT]/[NAME-OF-SCRIPT].sh >/dev/null 2>&1
    

    以下site 是您计算 cron 计划表达式的绝佳资源,this 是一个非常好的教程,介绍如何使用 linux 设置 cronjob。

    【讨论】:

    • 有没有其他方法可以达到这个要求?
    • 您可以使用客户端库创建脚本,而不是运行gsutil 命令。相关代码sn-ps为here。但首先您需要关注these steps,通过客户端库进行相关认证,对您的存储桶进行操作。我肯定会坚持使用 Crontab 来安排脚本以任何特定的时间间隔运行。
    猜你喜欢
    • 1970-01-01
    • 2014-08-06
    • 2021-03-22
    • 2018-03-08
    • 2017-04-13
    • 2020-11-03
    • 2017-11-10
    • 2014-05-03
    • 2016-10-25
    相关资源
    最近更新 更多