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, utilizando 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.
Instalando o Rclone
Para abrir o terminal do Webmin, vá para a aba “Webmin” e utilize a opção “Tools – Terminal” no menu da esquerda.

Para fins deste exemplo, vou trabalhar com o usuáiro “root”. Isso poupará uma série de trabalhos extras após a configuração. 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
O Rclone trabalha baseado em instâncias. Você pode configurar várias instâncias, cada uma sincronizando com um cloud drive diferente. Depois de criada a instância, você irá se referir a aquela unidade pelo nome da instância como se fosse a designação de um drive.
Exemplo: Você cria uma instância que sincroniza com o Google Drive chamada “gdrv”, para ver o conteúdo da pasta “/docs/copia”, você vai utilizar o comando ‘rclone lsd gdrv:docs/copia”.
Para darmos continudade aos exemplos, vou mostrar como realizar a configuração de uma instância que sincroniza com o OneDrive.
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: Nome da instância. Esse é o nome que será utilizado para se referenciar à instância que está sendo configurada neste momento, por exemplo “fotos-onedrive”, “arquivos-onedrive”. Esse nome será importante para executar a cópia ou sincronia. Daqui para frente será referenciado como <instância>.
- 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 <instância>:
# 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 cloud drive.
- Sincronia: Funciona como o client do seu cloud drive no computador, cópia bidirecional. O que está no servidor é copiado para o cloud drive 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 cloud drive, ela será criada.
Cópia
rclone copy <diretório local> <instância>:<pasta remota>
# Exemplo:
rclone copy /var/www/uploads arquivos-onedrive:Backup/uploads --create-empty-src-dirs
Sincronia
rclone sync <diretório local> <instância>:<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 cron job no Webmin. Para isso, na aba “Webmin” abra a opção “System – Scheduled Cron Jobs” e clique no botão “Create a new screduled cron job”.

Agora vamos a algumas considerações importantes 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 executado. 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> <instância>:<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 é deixar o processo ocorrer normalmente como usuário “root”, alterando assim a propriedade dos arquivos alteradas para root e depois executar outro comando para que sejam novamente alteradas para o usuário web. Parece mais complexo, porém no final das contas é a solução isenta de maiores complexidades. Para alterar a propriedade, deve ser utilizado o comando:
chown -R <usario>:<usuario grupo> <diretório>
# Exemplo - Usuário web "mediaftp":
chown -R mediaftp:users /var/www/media
Então, lá no “Command” do cron job vamos colocar os dois comandos em sequência, para isso, basta separá-los com “&&”, desta forma, dado o meu exemplo acima, utilizando o usuário “root” para executar a tarefa, o comando ficaria:
rclone sync /var/www/media/WS arquivos-onedrive:ServerBackup/WS --create-empty-src-dirs --log-file=/var/www/media/WS/rclone-sync.log && chown -R mediaftp:users /var/www/media/WS

Alerta importante ao iniciar o cron job:
Tive um problema por aqui ao sincronizar com o OneDrive e acredito que os outros cloud drives também possam ter esse tipo de restrição. Para manter uma sncronia constante, coloquei a tarefa para ser executada a cada 5 minutos. Issou causou um bloqueio da conta por parte da Microsoft, eles entendem como uso abusivo. Depois que recuperei a conta, para evitar futuro transtorno, aumentei o tempo para uma hora e até o momento está funcionando sem problemas.
Resolvendo Problemas
FTP
No meu caso, o diretório utilizado para realizar a sincronia é alimentado via FTP. Logo que instalei o Rclone, eu não conseguia mais esse tipo de acesso. Depois de muito pesquisar, o problema foi em relação as regras do firewall. Acredito que a instalação do programa tenha alterado as regras e gerado esse problema. No meu cenário, cujo programa de FTP é o ProFTPD, tive que executar os seguintes comandos para reabilitar seu funcionamento através do firewall:
# Backup do arquivo de configuração do ProFTPD, por garantia.
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.bak
# Ajuste da faixa de portas
sed -i 's/PassivePorts 30000 31000/PassivePorts 49152 65535/g' /etc/proftpd/proftpd.conf
# Verificando se funcionou (deve aparecer "PassivePorts 49152 65535")
grep -i "passive" /etc/proftpd/proftpd.conf
# Reiniciar o ProFTPD
systemctl restart proftpd
# Verificar se o serviço está em execução
systemctl status proftpd