Skip to content

Instantly share code, notes, and snippets.

@requeijaum
Created November 27, 2018 12:38
Show Gist options
  • Save requeijaum/78ba11a9ffa34c236a6b85635bbd9cc1 to your computer and use it in GitHub Desktop.
Save requeijaum/78ba11a9ffa34c236a6b85635bbd9cc1 to your computer and use it in GitHub Desktop.
Script para fazer rsync de pastas no Google Drive, de um projeto da Norsul Engenharia.
#!/bin/python3
import subprocess, sys, time
# talvez usar subprocess - pra chamar o rclone e esperar um processo terminar
# você precisar configurar de acordo com RTFM
# rclone config
print ("rodou rclone config?")
time.sleep(3)
#rclone -v lsf gdrive-norsul:"Igreja Nova"
#rclone -vv ls --drive-shared-with-me gdrive-norsul
#rclone copy gdrive-norsul ./
listaRemotos = ["gdrive-norsul", "fotos-gabriel-norsul"]
listaPastas = ["Camera Preta", "Campo Grande", "Contrato 7480717 Cleide Souza Silva Costa", "Feira Grande", "FOTOS DE CONTRATOS REALIZADOS POR CLIVIA", "Fotos Girau", "Fotos Olho d'agua grande", "Fotos São sebastião", "Igreja Nova", "Igreja Nova + Evento", "maquina Prata", "Nova Pasta", "traipu", "visitas e evento", "Craibas", "Fotos Não Encontradas", "Igreja nova", "Lagoa da Canoa", "Penedo", "sabado", "Sao Sebastiao", "Taquarana" ]
env = "/usr/bin/env"
while(True): # pra sempre!!!
for remote in listaRemotos :
# adicionar remote de Gabriel via $ rclone config
for pasta in listaPastas:
comandoClonarPasta = "\"" + remote + ":" + pasta + "\"" + " ./" + "\"" + pasta + "\""
subprocess.run([env, "mkdir", pasta])
if( subprocess.run([env, "rclone", "-v", "copy", remote+":"+pasta, "./"+pasta ]).returncode == 0):
print("\n[DEBUG] copia de "+comandoClonarPasta+" foi OK!")
else:
print("\n[DEBUG] deu ruim para "+comandoClonarPasta)
time.sleep(1)
# preciso invocar o os.system e aguardar o fim de um processo?
# nah... usar subprocess.run e verificar o código de retorno
@requeijaum
Copy link
Author

Preciso ler o manual da subprocess e redirecionar STDOUT e STDERR para arquivos de log, com nome de arquivo contendo data e hora, como sufixo. Exemplo:

rclone-norsul-25112018-0939.log

@requeijaum
Copy link
Author

requeijaum commented Nov 27, 2018

Como a pasta é compartilhada e não está no meu GDrive @norsulengenharia.com.br ... eu não consigo listar todas as pastas que estão no diretório. Aí eu preciso entrar manualmente com o nome das pastas. #QueMerda

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment