NPDD/Baobáxia/Sync
De Rede Mocambos
m |
(→Varias coisas) |
||
| (10 edições intermediárias de 2 usuários não apresentadas) | |||
| Linha 1: | Linha 1: | ||
| + | == 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 anotações (limpar) == | ||
sync | sync | ||
| Linha 10: | Linha 46: | ||
* --> mucua nao eh persistente - existe o mapeamento do git annex | * --> mucua nao eh persistente - existe o mapeamento do git annex | ||
| − | |||
* syncInternet - git annex copy to | * syncInternet - git annex copy to | ||
* syncDireto - git annex copy to | * syncDireto - git annex copy to | ||
* syncMetatados - git annex sync | * syncMetatados - git annex sync | ||
| + | |||
| + | |||
| + | Estudos: | ||
| + | |||
| + | * http://git-annex.branchable.com/preferred_content/ vicfg | ||
| + | * http://tools.ietf.org/html/rfc5050 | ||
| + | |||
| + | <pre> | ||
| + | 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) | ||
| + | |||
| + | </pre> | ||
Edição atual tal como às 00h25min de 6 de janeiro de 2015
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 anotações (limpar)
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)