NPDD/Baobáxia/Sync
De Rede Mocambos
Rodas tech da segunda
Rodas:
- (Sync-0) 5 janeiro 2015 - https://own.mocambos.net:8443/public.php?service=files&t=72a7b577d3dc327dc402bef7dba3f3c2
Cabruca e Tunnel multi pontos
Temos tres nos, a mucua Cabruca do Terravista, o computador do Boby, avadaquedavra, e a mucua Dpadua do Mercado Sul.
- Dpadua tem acesso a internet
- Cabruca não tem acesso a internet,
- avadaquedavra tem acesso a internet e a cabruca (pelo ip 10.254.253.4)
Criamos um tunnel então desde avadaquedavra para cabruca, com entrada na porta 9800:
befree@avadaquedavra ~ $ ssh -fNT -R 9800:localhost:22 exu@10.254.253.4
agora na cabruca criamos um tunnel ate o dpadua, passando pela avadaquedavra que ta agora disponivel no localhost porta 9800:
exu@cabruca ~ $ ssh -fTL 9999:dpadua.mocambos.net:9022 -N localhost -p 9800 -l befree
Assim na cabruca pode configurar o remote (/data/bbx/repositories/mocambos/.git/config):
[remote "dpadua"] url = ssh://exu@localhost:9999/data/bbx/repositories/mocambos
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | I N T E R N E T | ___________ | _______________ __________ | | |<-9800 -------| | | | | | CABRUCA | | | AVADAQUEDAVRA | | DPADUA | | | |--- 9999 --->>| |>>---- 9022->| | | |___________| | |_______________| |__________| | |_(( wifi )) (( wifi ))_| | | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
Varias coisas
sync
- - "publico"
- -> joga para a pilha
- --> conexao internet
- --> conexao direta
- -> mucua: propriedades
- --> propriedade tipo de conexao
- --> mucua nao eh persistente - existe o mapeamento do git annex
- syncInternet - git annex copy to
- syncDireto - git annex copy to
- syncMetatados - git annex sync
Estudos:
online -> offline -> pacote de dados grande offline -> online mucuas - universo conhecido mucua online - metadado sync mucua semi-conectada - metadado sync eventual mucua offline valedoribeira (offline) Miniserver de sync milson/MA (gesac) Dandara (online) Acotirene (online principal) Video a1 (meta + bin) P Dandara.pilha.copyTo(a1, dest) Video a1 (meta) Video a1 (meta) demanda Video a1 Video a1(meta+bin) metadados (pilhas) http://docs.python.org/2/library/stdtypes.html#set-types-set-frozenset http://docs.python.org/2/library/sets.html media/models.py ... @receiver(post_save, sender=Media) def startPostSavePolicies(mediaInstance, **kwargs): # verificar se a media q acabou de ser salva aciona o método postSave if "postSave" in policy: import triage.policy # (import postSave_publico (.py) result = getattr(triage, policy(mediaInstance)) etiqueta/models.py etiqueta.policies['NomeSinal_NomePolicies', '...'] triage/postSave_publico.py def postSave_publico(mediaInstance): # joga o arquivo para a pilha mucua.pilha.add(mediaInstance) gitannex/models.py def syncRepository(): crontab -> executa o sync do repositorio class pilha(): itens = # set def add(): # verifica se existe o arquivo pilha, se nao, cria # adiciona elemento na pilha def parsePilha(): -----milson.pilha------------------------- git annex copy arquivo_tal.ogg --to DANDARA git annex copy video_2.ogg --to DANDARA git annex copy video_6.ogg --to DANDARA ------------------------------ aonde (qual app python) colocar a lógica das pilhas => repositorio (gitannex) sugestão: pilha de arquivos demandados por mucua valedoribeira.pilhaDemanda: [Video a1] milsonMa.pilhaDemanda: [Video a1] (milsonMA) verifica aonde existe Video a1 (git annex whereis Video a1) Video a1 (metadado) 01 Video a1 -> lista de sync 02 Video a1 (metadado) 03 Video a1 (arquivo)