나는 그것을 사용하고 있다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를 사용하여 두 번째 단어를 유지한 다음 이를 후속 업로드 명령에 제공할 수 있습니다.
#!/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