我在用着https://github.com/prasmussen/gdrive
你好,
我正在尝试运行一个每日脚本,该脚本在 Google Drive 中创建一个文件夹,然后在其中上传一堆 tar 存档。到目前为止,我可以创建文件夹,但如果我没有文件夹的 ID,并且不知道如何获取它,则无法上传。目前,我正在上传到默认文件夹并手动移动文件。
这就是我到目前为止所拥有的
#!/bin/bash
drive folder -t $(date '+%d-%m-%y') //makes the folder
for file in /home/backup/*.tar
do
drive upload -f "$file" -p (the newly created folder id)
done
答案1
根据您链接到的页面,当您创建目录时,gdrive 会打印它的 id。看看它给出的例子:
$ gdrive mkdir gdrive-bin
Directory 0B3X9GlR6EmbnY1RLVTk5VUtOVkk created
因此,您可以使用 awk 来保留第二个单词,然后将其提供给后面的上传命令:
#!/bin/bash
dir=$(drive mkdir $(date '+%d-%m-%y') | awk '$3=="created"{print $2}')
: ${dir?}
for file in /home/backup/*.tar
do drive upload -p "$dir" "$file"
done
: ${dir?}
如果我们找不到 id,则会停止脚本。
答案2
您需要找到要上传文件的文件夹的 ID 我建议您创建 pas,例如键入
$ gdrive ./gdrive list
1yJz6M094WNWVPoM09u2m8GjoLiumSdxl Empresa 0.0 B 2018-06-29 12:12:03
1TS8b3JDx6RNeIvFN6HqAI9gNuNrs5D-b Banco de Dados 0.0 B 2018-06-29 12:11:42
**1RYvaOGgf6E4HikDZ0cKKwoG-aShe6j6E** Sistema 0.0 B 2018-06-28 14:53:28
复制您要查找的文件夹的 ID 并在 -p 之后粘贴,例如:
#!/bin/bash
dir = $ (drive mkdir $ (date '+% d-% m-% y') | awk '$ 3 == "created" {print $ 2}')
: $ {dir}
for file in /home/backup/*.tar
of the drive upload -p "$ dir" "$ file" **1yJz6M094WNWVPoM09u2m8GjoLiumSdxl**
done