Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

1. Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

Cleber Gobira
globrother

(usa Debian)

Enviado em 01/06/2018 - 00:13h

Boa noite pessoal.

Sou bem leigo em linux, mas ultimamente tenho gostado bastante de brincar e aprender com o Shell Script, portanto gostaria da ajuda de vocês.
O caso é o seguinte, tenho o google-drive-ocamlfuse que apesar da lentidão é funcional, então vi a necessidade de sincronizar a pasta de montagem do Gdrive com uma pasta offline\local do mesmo (para melhorar a velocidade de trabalho na pasta e o rsync faria a sincronização em segundo plano apenas dos arquivos alterados). Fiz um simples script usando o Rsync para fazer essa sincronização, porém, parece que a data de modificação da pasta "online" não é alterada quando há uma modificação nela, por exemplo, quando se adiciona ou remove um arquivo.
Meu script usa a estrutura condicional if ... fi e a data de modificação das pastas para saber qual diretório deve ser sincronizado, isto é, se o diretório offline foi modificado mais recentemente que o "online" então sincroniza do offline para o "online", caso contrario do "online" para o offline. Porém há algum problema com a data de modificação do lado "online" que nem sempre é alterada quando devia. Diante disso meu scrip só sincroniza de um lado, já que a pasta "online" está sempre com a data de modificação desatualizada.

Abaixo a estrutura básica do script:
#!/bin/bash

DATAlocal=$(date -r /home/usuario/TesteData/ +%s) #atribui o tempo de modificação da pasta a DATAlocal
DATAnuvem=$(date -r /home/usuario/Sync_GDrive/TesteData +%s) #atribui o tempo de modificação a DATAnuvem

if [ $DATAlocal -gt $DATAnuvem ]; then

rsync -aPvzh --update --delete --skip-compress=$RSYNC_SKIP_COMPRESS /home/usuario/TesteData/ /home/usuario/Sync_GDrive/TesteData/

echo -e "\n";
fi

if [ $DATAlocal -lt $DATAnuvem ]; then

rsync -aPvzh --update --delete --skip-compress=$RSYNC_SKIP_COMPRESS /home/usuario/Sync_GDrive/TesteData/ /home/usuario/TesteData/
sleep 1
fi
exit

Se rodar o comando separadamente na direção pasta offline para "online" todos os arquivos são carregados novamente pois acredito o rsync entende que os arquivos são antigos devido a data, mesmo estando atualizados.

Gostaria de saber se existe alguma forma de forçar a atualização dessa data no diretório do Gdrive, ou um método diferente para fazer essa sincronização, deixando os dois diretórios sempre sincronizados. Ainda não achei um jeito de fazer um espelhamento eficiente usando a opção --delete do rsync.

Observação: O script funciona muito bem usando apenas diretórios locais.

Desculpem a quantidade de texto e a minha ignorância no assunto. Desde já agradeço.

Informações adicionais:
- Uso do Cron pra automatizar essa tarefa.
- Usuário: Debian 9
- Conexão de Internet: Down= + 1Mb/s, Up= +1Mb/s





  


2. Re: Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/06/2018 - 01:58h

faz um link simbólico de "testdata" dentro da pasta do "ocalmfuse" e pronto, não precisa de script !!!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



3. Rsync e o google-drive-ocamlfuse

Cleber Gobira
globrother

(usa Debian)

Enviado em 01/06/2018 - 11:32h

Mauriciodez escreveu:

faz um link simbólico de "testdata" dentro da pasta do "ocalmfuse" e pronto, não precisa de script !!!



Bom dia Mauríciodez. Obrigado pela resposta.

Fiz o teste aqui, porém continuo com um problema e o Google drive não entende link simbólico ao acessar pelo navegador. Me desculpe, acho que não deixei claro no tópico o porque de uma pasta offline. A pasta do "ocalmfuse" É muito lenta e tudo que é feito por lá é demasiado lento até para salvar um documento de texto demora, daí a ideia de fazer uma pasta offline separada e sincronizada que poderia salvar, por exemplo, documentos (writer) abertos sem demora alguma. (editei o tópico)



4. Re: Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/06/2018 - 11:54h

globrother escreveu:
Fiz o teste aqui, porém continuo com um problema e o Google drive não entende link simbólico ao acessar pelo navegador. Me desculpe, acho que não deixei claro no tópico o porque de uma pasta offline. A pasta do "ocalmfuse" É muito lenta e tudo que é feito por lá é demasiado lento até para salvar um documento de texto demora, daí a ideia de fazer uma pasta offline separada e sincronizada que poderia salvar, por exemplo, documentos (writer) abertos sem demora alguma. (editei o tópico)


negativo .. eu entendi bem o q vc quer, vc que não deve ter entendido ... veja bem, um link simbólico não passa de um tipo de sincronismo em tempo real ... digamos q vc tem um documento no /home e um link simbólico desse documento na pasta gdrive ...o que acontece, vc abre, fecha, modifica e exclui o documento no /home normalmente, o link simbólico e o sincronismo nas nuvens não atrapalham em nada.

eu tenho aqui, e todos os meus arquivos ocultos estão no 'drive' dessa forma que te falei !!!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Problema com data de modificação de pasta usando o Rsync e o google-drive-ocamlfuse em Shell Scr

Cleber Gobira
globrother

(usa Debian)

Enviado em 01/06/2018 - 12:54h

Mauriciodez escreveu:

negativo .. eu entendi bem o q vc quer, vc que não deve ter entendido ... veja bem, um link simbólico não passa de um tipo de sincronismo em tempo real ... digamos q vc tem um documento no /home e um link simbólico desse documento na pasta gdrive ...o que acontece, vc abre, fecha, modifica e exclui o documento no /home normalmente, o link simbólico e o sincronismo nas nuvens não atrapalham em nada.

eu tenho aqui, e todos os meus arquivos ocultos estão no 'drive' dessa forma que te falei !!!


Acho que entendi errado mesmo. Porque não está funcionando aqui, veja como fiz: tenho a pasta /home/usuario/Google-Drive-Off/TesteData/, então dentro da pasta do "ocamfuse" criei um "link básico para arquivo ou pasta... (Dolphin KDE plasma)" da pasta TesteData, porém quando acesso o drive pelo celular por exemplo o que aparece lá é um arquivo com nome de TesteData sem extensão e nem abre. O que estou fazendo errado?

Usei esse comando também e ficou na mesma:
ln -s /home/gob/Google-Drive-Off/TesteData2/ /home/gob/Sync_GDrive/  

Outra coisa, algumas pastas que eu quero sincronizar elas já existem dentro do google drive.

Grato.


6. Re: Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/06/2018 - 13:43h

globrother escreveu:

Acho que entendi errado mesmo. Porque não está funcionando aqui, veja como fiz: tenho a pasta /home/usuario/Google-Drive-Off/TesteData/, então dentro da pasta do "ocamfuse" criei um "link básico para arquivo ou pasta... (Dolphin KDE plasma)" da pasta TesteData, porém quando acesso o drive pelo celular por exemplo o que aparece lá é um arquivo com nome de TesteData sem extensão e nem abre. O que estou fazendo errado?

Usei esse comando também e ficou na mesma:
ln -s /home/gob/Google-Drive-Off/TesteData2/ /home/gob/Sync_GDrive/  

Outra coisa, algumas pastas que eu quero sincronizar elas já existem dentro do google drive.

Grato.


vamos descobrir o q vc fez de errado ... a parada funciona como te falei .. vou exemplificar uma pasta

- Digamos que eu queira colocar a pasta 'documentos' no 'drive'

o que eu tenho q fazer é um link SIMBÓLICO da pasta 'documentos' dentro da pasta do 'ocalmfuse'

ln -s /home/meu_usuário/documentos /home/meu_usuário/pasta_do_ocalmfuse/documentos 


mesma coisa para qualquer documento.

Agora tem uma coisa q tem q prestar atencão ... não rola de fazer um link simbólico se existe um mesmo nome no mesmo nível.

Ou seja, se dentro da pasta 'ocalmfuse' já tivesse uma pasta ou um link simbólico com o nome de 'documentos', não rola de criar outro ... tipo ... dois corpos não podem ocupar o mesmo lugar no espaço !!!

entendeu aí ??

Agora se liga ... Se vc for manipular nomes dentro de 'ocalmfuse', cuidado para não excluir dados, prefira sempre manipular na web.


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



7. Re: Rsync e o google-drive-ocamlfuse (problema com espelhamento) em Shell Script

Cleber Gobira
globrother

(usa Debian)

Enviado em 01/06/2018 - 14:10h

Mauriciodez escreveu:

vamos descobrir o q vc fez de errado ... a parada funciona como te falei .. vou exemplificar uma pasta

- Digamos que eu queira colocar a pasta 'documentos' no 'drive'

o que eu tenho q fazer é um link SIMBÓLICO da pasta 'documentos' dentro da pasta do 'ocalmfuse'

ln -s /home/meu_usuário/documentos /home/meu_usuário/pasta_do_ocalmfuse/documentos 




Então, fiz exatamente isso. O teste que fiz foi de uma pasta que não tem no Google Drive, com nome diferente das que tem lá. Porém o que aparece no google drive do navegador de internet não é a pasta, aparece um arquivo desconhecido de mesmo nome da pasta que não mostra nada.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts