私はそれを使用していますhttps://github.com/prasmussen/gdrive
こんにちは、
Googleドライブにフォルダを作成し、ここに複数の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を使用して2番目の単語を保持し、それを後続のアップロードコマンドに提供できます。
#!/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を見つける必要があります。たとえば、次のように生成することをお勧めします。
$ 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