O Rclone é uma ferramenta de linha de comando para sincronizar arquivos e diretórios entre uma máquina local e um armazenamento em nuvem.
Você pode baixar o Rclone no site oficial e seguir os guias de instalação disponíveis lá.
No Windows, basta baixar e executar o rclone.exe pela linha de comando.
Para configurar o Rclone para funcionar com nosso armazenamento de objetos S3:
rclone.conf no diretório .config/rclone na raiz do seu diretório home.[hostman]
type = s3
provider = Other
env_auth = false
access_key_id = <Access_Key>
secret_access_key = <Secret_Access_Key>
endpoint = https://s3.hmstorage.net
Como alternativa, você pode usar o assistente de configuração, que criará um arquivo semelhante. Para iniciar o assistente, execute o comando:
rclone config
Abaixo está um exemplo de configuração usando o assistente.
Digite n e, em seguida, o nome hostman.
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> hostman
Selecione Amazon S3 Compliant Storage Providers.
Storage> 4
Selecione Any other S3 compatible provider.
provider> 32
Digite false.
env_auth> false
Digite a Access Key nas configurações do seu bucket. Por exemplo:
access_key_id> 6RNN1MM9UZOUU5XWVQUE
Digite a Secret Access Key nas configurações do seu bucket. Por exemplo:
secret_access_key> jX8DgkESG2uqTtQYAuT25FZhctrbz2mhyBrwUgKK
Digite us-2.
region> us-2
Digite https://s3.hmstorage.net.
endpoint> https://s3.hmstorage.net
Deixe em branco e pressione Enter.
location_constraint>
Deixe em branco e pressione Enter.
acl>
Digite n.
y/n> n
Verifique os dados e pressione y.
Options:
- type: s3
- provider: Other
- access_key_id: 6RNN1MM9UZOUU5XWVQUE
- secret_access_key: jX8DgkESG2uqTtQYAuT25FZhctrbz2mhyBrwUgKK
- region: us-2
- endpoint: https://s3.hmstorage.net
Keep this "hostman" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
Digite q para sair.
Current remotes
Name Type
==== ====
hostman2 s3
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> q
Para ver a lista completa de comandos compatíveis, consulte a documentação do Rclone.
O nome do armazenamento especificado no arquivo de configuração rclone.conf deve ser usado como nome do host. No exemplo anterior, configuramos um armazenamento chamado hostman.
rclone lsd <host_name>:
Por exemplo:
rclone lsd hostman:
-1 2021-12-10 11:34:51 -1 1d65c254-17ab-4b22-b262-1111fc006937
-1 2022-01-13 10:05:47 -1 3b24945b-d373-4713-89ec-3dece346c7b3
-1 2022-01-14 12:31:36 -1 bbf30ad7-8872-40fc-8d41-54537d894b7f
rclone ls <host_name>:<bucket_name>
Por exemplo:
rclone ls hostman:3b24945b-d373-4713-89ec-3dece346c7b3
13 test.txt
13 test1.txt
rclone -P copy <file_name> <host_name>:<bucket_name>
Por exemplo:
rclone -P copy test5.txt hostman:3b24945b-d373-4713-89ec-3dece346c7b3
rclone delete <host_name>:<bucket_name>/<file_name>
Por exemplo:
rclone delete hostman:3b24945b-d373-4713-89ec-3dece346c7b3/test5.txt
rclone copyto -vP --log-file=rclone_<source_bucket_name>.log --transfers=256 <source_host_name>:<source_bucket_name> <destination_host_name>:<destination_bucket_name>
rclone -P sync <host_name>:<bucket_name> /path/to/directory
Por exemplo:
rclone -P sync hostman:3b24945b-d373-4713-89ec-3dece346c7b3 /root/test
Para sincronizar no sentido inverso, basta inverter os argumentos.