Essa dica é especialmente útil para quem possui servidor Linux e precisa sincronizar alguns diretórios com cloud drives, como OneDrive, Google Drive, Dropbox, etc. O Rclone é uma alternativa open source com milhares de contribuições da comunidade, o que torna seu código constantemente auditável e protegido contra uso malicioso. Em meu caso, para simplificar a administração do Linux, utilizo a interface Webmin, igualmente open source e muito estável.
No passo a passo a seguir vou reproduzier a situação que passei, instalando o Rclone para replicar um diretório do meu servidor Linux para uma pasta no OneDrive. Tudo o que vou fazer aqui no terminal do Webmin pode perfeitamente ser feito diretamente no terminal do Linux.
O processo que será aqui explicado serve para sincronizar o diretório uma única vez, por isso, para manter o serviço funcionando de forma contínua como fazem os clients dos programas de drive na nuvem, vou usar o recurso de cronjobs do Webmin.
Instalando o Rclone
Para abri o terminal do Webmin, vá para a aba “Webmin” e utilize a opção Tools – Terminal no menu da esquerda.

Uma vez no terminal, entre com os comandos:
# Para ter certeza que está logado como root:
su -
# Para Instalar:
curl https://rclone.org/install.sh | bash
# Para verificar se a instalação foi bem sucedida:
rclone version
# Exemplo de reposta:
rclone v1.75.1
- os/version: ubuntu 22.04 (64 bit)
- os/kernel: 5.15.0-194-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.26.8
- go/linking: static
- go/tags: none
Se a instalação foi bem sucedida, já podemos ir para o próximo passo: configuração.
Configurando
rclone config
Daí basta ir seguindo as instruções em tela para configurar o seu cloud drive, até chegar no ponto da autenticação. Abaixo uma dica sobre como responder as perguntas feitas no processo de configuração para habilitar a conexão com o OneDrive:
- Instance: n (new remote).
- Name: Esse é o nome que será utilizado para se referenciar ao serviço que configurando no momento, por exemplo “fotos-onedrive”, “arquivos-onedrive”. Esse nome será importante para executar a cópia ou sincronia. Daqui para frente será referenciado como <nome-do-drive>.
- Storage Type: onedrive (ou o número correspondente).
- Client Secret / Client Id: Deixar em branco.
- Region: 1 – Microsoft Cloud Global.
- Edit Advanced Config: n.
- Use Auto Config: n. A não ser que você esteja executando a instalação a partir de um computador que possui interface gráfica e browser.
Se tudo deu certo, agora o Rclone estará exibindo uma mensagem parecida com essa:
Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
rclone authorize "onedrive"
Then paste the result.
Enter a value.
config_token>
Este é o ponto no qual o Rclone está aguardando a sua credencial de acesso ao OneDrive. Para gerar esta credencial, siga os passos:
- No seu computador com interface gráfica baixe o Rclone a partir do site https://rclone.org/downloads/
- Extraia os arquivos para alguma pasta e, através do prompt de comando vá até ela.
- Exceute o comando:
rclone.exe authorize "onedrive"
Ao fazer isso, se abrirá um browser fazendo login no OneDrive e pedindo permissões para o Rclone. Autorize tudo o que é pedido. Conforme eu disse antes, o Rclone é uma solução open source fiscalizada por milhares de programadores ao redor do mundo. É garantido que o código é seguro e que seus dados não serão manipulados por nenhum atacante externo. Depois que autorizar, de volta ao prompt de comando, você terá uma resposta parecida com isso:
Paste the following into your remote machine --->
{"access_token":"...","token_type":"Bearer","refresh_token":"...","expiry":"..."}
<---End paste
Copie todo o conteúdo JSON acima e cole no servidor Linux em resposta ao prompt “config_token>”.
- OneDrive type: personal (caso esteja sincronizando com um OneDrive padrão para consumidor final).
- Keep This Remote: y.
- Q para sair.
# Para ver a configuração do Rclone:
rclone config show
# A resposta deve ser algo como:
[arquivos-onedrive]
type = onedrive
token = {"access_token":...}
drive_id = ...
drive_type = personal
# Este comando mostra o conteúdo do OneDrive:
rclone lsd <nome-do-drive>:
# Exemplo:
rclone lsd arquivos-onedrive:
Realizando a Primeira Cópia ou Sincronia
O Rclone pode realizar dois processos distintos: cópia ou sincronia.
- Cópia: Os arquivos são copiados do servidor Linux para o OneDrive.
- Sincronia: Funciona como o client do OneDrive no computador, cópia bidirecional. O que está no servidor é copiado para o OneDrive e vice-versa.
O comando a seguir realiza o processo uma única vez, sendo necessário executá-lo todas as vezes que achar necessário. Caso a pasta de destino não exista no OneDrive, ela será criada.
Cópia
rclone copy <diretório local> <nome-do-drive>:<pasta remota>
# Exemplo:
rclone copy /var/www/uploads arquivos-onedrive:Backup/uploads --create-empty-src-dirs
Sincronia
rclone sync <diretório local> <nome-do-drive>:<pasta remota> --create-empty-src-dirs
# Exemplo:
rclone sync /var/www/uploads arquivos-onedrive:Backup/uploads --create-empty-src-dirs
Automatizando o Processo
Para automatizar o processo, vamos criar uma tarefa cronjob no Webmin. Para isso, na aba Webmin abra a opção System – Scheduled Cron Jobs – Create a new screduled cron job.

Agora vamos a algumas considerações antes de efetivamente criar a tarefa:
Como a tarefa será automatizada, é importante termos registrado em um arquivo de log o resultado de cada vez que o processo for automatizado. Para isso, o comando de cópia ou sincronia deve levar um parâmetro que informa sobre a criação deste arquivo de log, ficando assim:
# Parâmetro: --log-file=<caminho/nome do arquivo log>
rclone sync <diretório local> <nome-do-drive>:<pasta remota> --create-empty-src-dirs --log-file=/var/log/rclone-sync.log
# Exemplo:
rclone sync /var/www/uploads arquivos-onedrive:ServerBackup/uploads --create-empty-src-dirs --log-file=/var/log/rclone-sync.log
Para garantir que a tarefa será executada em qualquer contexto, o ideal é definir o usuário como “root”, porém isso nos traz um problema enorme: depois de realizado o processo de cópia ou sincronia, a propriedade dos arquivos passa para o usuário root, tornando-os invisíveis para o seu usuário web, impossibilitando acesso FTP. Para resolver esse problema temos algumas opções.
Uma das opções é fazer com que usário do cron job seja o mesmo usário web. Parece a mais simples, porém isso nos trará outros problemas no futuro.
O ideal é que, após realizado o processo de sincronia e a propriedade dos arquivos alteradas para root, elas sejam novamente alteradas para o usuário web. Parece mais complexo, porém no final das contas é a solução mais simples. Para alterar a propriedade, deve ser utilizado o comando:
chown -R <usario>:<usuario grupo> <diretório>
# Exemplo:
chown -R mediaftp:users /var/www/media
