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
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