Saudações,
Eu estou montando um sistema de compartilhamento de arquivos em RAID 1 para um cliente, e com relação ao backup, eu decidi fazer algo diferente desta vez.
Crie backup com RClone na nuvem
Um servidor com NextCloud ficará dentro da rede local devido a utilização de arquivos que excedem facilmente 1GB, e precisam ser editados em tempo real. O compartilhamento será montado via WebDav em cada macOS do cliente.
O acesso externo não é o propósito, contudo, o sistema também estará disponível remotamente via aplicativo grátis do próprio NextCloud.
O backup será feito em um espaço contratado pelo cliente no Google Drive via RClone.
O RClone é um programa que serve para sincronizar arquivos e diretórios via linha de comando no estilo ORIGEM e DESTINO! Ele suporta uma grande quantidade de serviço em nuvem.
Você pode baixar o programa em rclone.org/downloads. Todas a funcionalidades do RClone estão contidas em um único arquivo binário!
Depois de instalado você pode iniciar a sua configuração com o comando rclone config...
$rclone config
Para adicionar uma nova conta, digite a letra n ( New remote ) e pressione a tecla enter...
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
Neste post de exemplo, vamos efetuar a configuração do Google Drive e do Microsoft OneDrive.
RClone com Google Drive
Em name, digite gdrive...
name> gdrive
Para Storage, digite drive...
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / A stackable unification remote, which can appear to merge the contents of several remotes
\ "union"
. . .
12 / Google Drive
\ "drive"
. . .
26 / http Connection
\ "http"
Storage> drive
Em cliente_id e client_secret apenas pressione o enter...
** See help for drive backend at: https://rclone.org/drive/ **
Google Application Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Google Application Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Para scope digite drive para permitir acesso completo...
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
. . .
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> drive
Deixe root_folder_id e service_account_file em branco; apenas pressione o enter...
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders. (see docs).
Enter a string value. Press Enter for the default ("").
root_folder_id>
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file>
Se você for questionado sobre a configuração avançada, digite n para não, e pressione enter...
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Na configuração remota, digite y para auto configuração...
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
No terminal você será uma mensagem do tipo...
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Seu navegador padrão irá abrir para você que você autorize a aplicação...
Clicando no botão permitir você verá a seguinte mensagem...
Retorne ao terminal!
Em Configure this as a team drive digite n...
Configure this as a team drive?
y) Yes
n) No
y/n> n
Nas próximas linhas você terá um resumo da configuração! Se tudo estiver OK, digite y para confirmar...
--------------------
[gdrive]
type = drive
scope = drive
token = {"access_token":"y. . .C","token_type":"Bearer","refresh_token":"1/f. . .4","expiry":"2018-11-23T10:22:23.085502839-02:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Feito isto, o RClone retornará ao menu principal e você verá que o Google Drive já aparece na listagem...
Current remotes:
Name Type
==== ====
gdrive drive
. . .
RClone com Microsoft OneDrive
No menu principal, digite n para criar uma nova associação remota...
Current remotes:
Name Type
==== ====
gdrive drive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n
Em name, digite onedrive...
name> onedrive
Em Storage digite onedrive...
Storage> onedrive
Como na configuração do Google Drive client_id e client_secret devem ficar em branco, apenas pressione enter...
client_id>
client_secret>
Em Edit advanced config responda não digitando n...
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Na questão Use auto config, digite y para sim...
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
Seu navegador padrão irar abrir para a autorização do aplicativo na Microsoft...
Depois de autorizado, retorne ao terminal!
Nas opções que se seguem, digite onedrive...
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
. . .
5 / Search a Sharepoint site
\ "search"
Your choice> onedrive
Como eu estou usando um conta pessoal, em Chose drive to use, eu digitei o numero 0...
Found 1 drives, please select the one you want to use:
0: (personal) id=3. . .f
Chose drive to use:> 0
Caso necessário, adapte a configuração acima ao seu tipo de conta!
O RClone vai exibir o seu URL no OneDrive. Confirme a configuração digitando y...
Found drive 'root' of type 'personal', URL: https://onedrive.live.com/?cid=3. . .f
Is that okay?
y) Yes
n) No
y/n> y
Um resumo da configuração será exibido. Aceite a configuração digitando y...
--------------------
[onedrive]
type = onedrive
token = {"access_token":"E. . .h","expiry":"2018-11-23T10:57:16.955493008-02:00"}
drive_id = 3. . .f
drive_type = personal
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
O RClone irá retornar ao menu principal, e você terá duas contas cadastradas...
Current remotes:
Name Type
==== ====
gdrive drive
onedrive onedrive
Agora é hora de testar! Digite q para sair do RClone.
Usando o RClone: o básico do básico
Listando arquivos e diretórios na raiz...
rclone ls onedrive:
Para listar um pasta especifica faça...
rclone ls onedrive:PASTA-REMOTA
Copiando arquivo para a raiz...
rclone copy ARQUIVO-LOCAL.txt onedrive:
Copiando arquivo para a uma pasta especifica...
rclone copy ARQUIVO-LOCAL.txt onedrive:PASTA-REMOTA
Sincronizando pastas...
rclone sync PASTA-LOCAL onedrive:PASTA-REMOTA
CUIDADO! A opção sync irá apagar todos os arquivos na PASTA REMOTA que não existam na PASTA LOCAL.
Caso queira conferir o que o RClone irá fazer sem afetar os seus aquivos na nuvem, use a flag --dry-run depois do comando...
rclone sync PASTA-LOCAL onedrive:PASTA-REMOTA --dry-run
Bem, vou parar por aqui! O RClone é bem completo. É possível até montar um drive remoto para que ele fique acessível no seu gerenciador de arquivos; isto no caso de você está usando uma interface gráfica; veja...
Ubuntu MATE: gerenciador de arquivos Caja |
Na linha de comando, você pode checar como usar o programa usando o comando man rclone ou rclone --help.
As informações completas sobre o RClone estão disponíveis em rclone.org.
Para saber mais sobre a utilização do Google Drive e do Microsoft OneDrive, acesse rclone.org/drive e rclone.org/onedrive.
Não é o meu caso, visto que eu configurei o RClone em um servidor sem o modo gráfico, mas, você pode se sentir mais confortável usando uma GUI para configurar o programa. Neste caso você pode usar o RcloneBrowser; acesse martins.ninja/RcloneBrowser.
Como o RClone, o RcloneBrowser também é multi plataforma |
No meu cliente eu vou usar o RClone via Crontab, somente para bakcup, contudo, caso você queira usar seu "disco remoto" em ponto de montagem, não deixe de conferir a flag --vfs-cache-mode na documentação em rclone.org/commands/rclone_mount.
Ah! Se você quiser revogar o acesso ao G Drive e/ou OneDrive, acesse myaccount.google.com/permissions e account.live.com/consent/Manage.
Paz a todos!
2 comentários:
Olá. Excelente tutorial.
Tenho uma dúvida. Como faço para enviar arquivos (backup) para uma pasta que esteja em "Compartilhados comigo" no google drive?
Saudações.
Muito obrigado pela visita.
Sobre a questão, eu acredito que você por usar a diretiva --drive-shared-with-me
.
Por favor, acesse rclone.org/drive/#drive-shared-with-me
Fica bem.