terça-feira, 31 de janeiro de 2023

Dica: como editar PDF

Pessoal,


Exportar um arquivo de Word ou PowerPoint para PDF é trivial.

E fazer o contrário? Pegar um PDF e exportar para Word? Seja para copiar ou editar alguma informação?

Para isso existem as ferramentas pagas e as gratuitas.

Dentre as pagas, você tem poucas que sejam compras únicas, como o Wondershare, e as mais comuns que são por assinatura, como o Adobre Acrobate e o FoxIt.

A proposta deste post é apresentar alguma coisa que seja gratuita, (não freemium, mas free mesmo) e offline (de preferência).

Já aviso antecipadamente: as soluções que vou colocar aqui AJUDAM, mas não são tão perfeitas quanto as pagas! Infelizmente.

A primeira dica é um site. Tá, não é offline. Mas é free!


Esse simpático serviço pega o seu PDF e transforma em Word, Excel (sem as fórmulas das planilhas, óbvio), em PowerPoint. A versão gratuita permite converter o texto "selecionável" em .docx e a versão paga transforma todo o texto, inclusive o dentre de imagens e gráficos, em editável. Arraste o PDF para a página e depois faça o download. Funciona muito bem, mas cada download deve ser efetuado com intervalo de 10 horas!!! 

Por isso não gosto de "free"ou "freemium".

A segunda dica é melhor.


Já vou começar sendo sincero: não gosto do LibreOffice. Nunca gostei. Acho poluido, confuso, sei lá, tem a cara demais de "open source" no sentido pejorativo mesmo. Coisa de nerd que não está nem aí se é confuso pra todo mundo, só na cabeça do programador é que tem alguma lógica.

Desabafo feito, vamos lá. Abra o LibreOffice, vá em cima em "File -> Open..." e na janela que se abre vá em "Mostrar Opções -> File type" e desça até "PDF - Portable Document Format (Write) (*.pdf). Sim, é cheio de mistura de português com inglês. Acredite quando eu digo que não gosto do layout da maioria dessas ferramentas open source, especialmente se foram criadas para Linux e daí portadas para os outros SOs.


O arquivo será aberto e estará totalmente editável. Mas isso tem, claro, um preço.

Se você quiser manter lindamente a formatação, o custo será pago à Adobe. Se você topar abrir mão da formatação, o custo é esse mesmo...


Conseguem perceber como a formatação foi perdida do PDF original (à esquerda) para o padrão que convertido (à direita)?

- Então, muito prazer! Preço ao seu dispor!

Os programas feitos para manipular PDF, como Adobe Acrobate, não têm ESTE problema. Têm outros, a começar pelo preço.

Bom, quando eu já estava desanimado, achei esse site aqui: pdf2doc.com. Então essa é a terceira dica:


Site super simples: arraste o PDF e depois faça o download. O arquivo vem zipado e, após descomprimir, temos o .doc.

Sem comentários!


Vejam que está muito, muito aceitável. Essas linhas vermelhas à direita são do Word tentando encontrar a palavra no dicionário.

Veja aqui uma edição:



Chego quase a dizer que está perfeito, exceto porque alguns símbolos e alguma formatação foi perdida. Mas está muito melhor que todas as outras opções!

O grande problema é manter o seu arquivo em PDF lá no servidor de sei-lá-onde-é... Diz o site que apaga os PDFs depois de uma hora. Vai saber...

Mais uma vez, esse é o preço...

Eu já tinha falado isso há algum tempo (veja aqui). Na época foi uma dica com o Automator e uma com o Google Docs.

É isso, pessoal!

Dica: como tirar o fundo colorido de alguma imagem e como criar um bom QR-code

Pessoal,


Dica e lembrança mental ao mesmo tempo!


Hoje precisei pegar uma imagem para criar um convite para uma aula no hospital. Só que a imagem tinha fundo branco e eu queria ela com fundo trasnparente para usar no modelo do convite.

Assim, fui procurar como resolver isso. Achei esse site aqui que faz isso de graça e bem rápido: remove.bg.

Ele pega uma imagem como essa abaixo e tira o fundo. Para isso, só arraste a imagem para o site ou faça o upload. Depois faça o download da imagem sem o fundo. Veja, lado a lado, como ficou:


Fácil e de graça. Claro, profissionalmente pode ser usado uma série de programas, mas aqui foi uma dica super rápida e de graça. Bem legal.

Outra dica é usar QR-Codes para link de aulas virtuais, link de pagamentos, etc. Aqui vai um site bem completo e de graça: qrcodechimp.com.

O site permite fazer QR-Codes para direcionar cartões (vCards), abrir PDF, sites, eventos, Pet ID, mapas, formulários, link de downloads, pagamentos, links para Youtube, etc (veja todos aqui).

Além disso, você pode escolher o formato da imagem do código (redondo, quadrado, em forma de coração, etc), colocar stickers (aquelas mensagens tipo "scan to pay"), escolher cores e até colocar o logo do serviço para o qual vai ser direcionado ou o logo da sua empresa!

Ao final, faça o download e divulge seu link! Para ter uma pequena ideia da versatilidade do site, note que os três QR-Codes abaixo levam ao mesmo lugar:



Para gerar o convite que precisei fazer (que foi disparado pelo Whatsapp), fiz pelo PowerPoint mesmo, depois selecionei a imagem do QR-Code e colei o link também, salvando com PDF. Assim, quando a pessoa receber a imagem, se abrir no computador pode clicar na imagem ou escanear com o telefone para abrir a reunião. Se usar o telefone para abrir a mensagem, pode clicar na figura que já abre no link da reunião.

Mas também tem o site ilovepdf.com. Você arrasta o arquivo .ppt ou .pptx pra lá e ele converter para PDF com tamanho reduzido e também preservando o link. Bacana também!

Bem legal!

Por enquanto é isso!

domingo, 29 de janeiro de 2023

Tutorial e Dica: Como Fazer Download no YouTube - 3 modos diferentes!!! E ainda crie um programa para baixar vídeos você mesmo!

Pessoal,


Com frequência nos deparamos com algum vídeo no YouTube que julgamos necessário guardar para consulta futuro.

Nesse momento, a única opção que temos é fazer o download do vídeo. O vídeo pode ser retirado, sua internet pode cair, o YouTube pode ser proibido no país, sei lá. Ene possibilidades.

Pensei em mostrar aqui três formas de fazer downloads de vídeos do YouTube: usando um site, usando Docker e usando um programa em Python.

Vamos começar pelo site.


1 - savefrom.net

Esse é um serviço clássico e que todos já devem conhecer. O site savefrom.net faz o download de videos do YT. É só colar o endereço do vídeo do YT e pronto.


O site ainda permite que você escolha algumas opções de resolução para download. Algumas, nem todas.



Repare que apenas duas opções (720 e 360) têm áudio. As outras você baixa o vídeo, mas não terá áudio... O site do YT tem várias outras resoluções para assistir, até 4k.


E também não tem a opção de baixar apenas áudio (vai que era apenas um vídeo para tirar uma música?).

O site ainda tem duas outras opções para download, todas levando ao mesmo lugar: adicionar uma extensão ao navegador (o que eu me recuso a fazer, pois você autoriza o site a monitorar seu tráfego pela internet, deixa o navegador mais pesado e consumindo mais recursos, etc) e o famoso "ss" (onde você coloca as letras "ss" antes do "youtube" no link e manda carregar a página novamente.

No caso do link anterior, ao invés de "https://www.youtube.com/watch?v=VK7bCs4Ho_I" ficaria assim: "https://www.ssyoutube.com/watch?v=VK7bCs4Ho_I". Esse link leva para a página do SaveFrom.net. Claro, quando funciona...


Próximo!


2 - Docker

Esta opção é bem interessante. Você instala um container docker e acessa a página do container para baixar o vídeo.

Existem várias opções boas:

 - TubeSync, que funciona como o Sonarr, baixando canais e playlists inteiras. Atualizou o canal? Ele baixa automaticamente.

 - MeTube: é um fork do yt-dlp. Você coloca o link do video do YT (e vários outros serviços) e ele baixa automaticamente.

- Alltube: tipo o MeTube, mas com o layout mais feinho.

 - TubeArchivist: tipo o TubeSync, mas com o layout bem poluído. Baixa um vídeo, playlist e canal todo...

 - Youtube Downloader: excelente opção. Permite escolher a resolução, baixar apenas áudio, etc.

Eu pessoalmente tenho instalado o MeTube e o Youtube Downloader.

Para instalar o MeTube, usei o docker-compose do Portainer (Stack):
version: "3"
services:
  metube:
    image: alexta69/metube
    restart: always
    ports:
      - "5992:8081"
    volumes:
      - /volume3/Download/NAS Downloads:/downloads
    user: "1026:100"
Para acessar o serviço, digite o IP do container pela porta 5992.


Funciona muito bem, você pode escolher a resolução, o download é rápido, baixar um vídeo, uma playlist ou apenas o áudio... Muito bom! Também tem modo escuro, se quiser.

Para instalar o YouTube Downloader já dá um pouco mais de trabalho. Como estou instalando no Synology, vou mostar como fazer por ele.

Primeiro você deve ir no File Station, na pasta Docker e criar uma pasa com o nome "youtubedl" (tudo em minúsculo mesmo". Dentro desta pasta, crie outras cinco pastas: "appdata", "audio", "subscriptions", "users" e "video". Novamente, tudo em minúsculo.


Mesmo que você faça por outro sistema ou outro modo, deverá criar as pastas.

version: "2.1"
services:
  youtube_downloader:
    image: tzahi12345/youtubedl-material
    container_name: youtube_downloader
    volumes:
      - /volume3/docker/youtubedl/appdata:/app/appdata \
      - /volume3/docker/youtubedl/audio:/app/audio \
      - /volume3/docker/youtubedl/subscriptions:/app/subscriptions \
      - /volume3/docker/youtubedl/users:/app/users \
      - /volume3/docker/youtubedl/video:/app/video \
    ports:
      - 8084:17442
    restart: always
Pronto! Você já recebeu mastigado, no Stack, bem diferente do que eu achei :)

Para acessar, digite o IP com a porta 8084.


Veja que também é possivel mudar a qualidade do download, baixar apenas audio e baixar playlists. Tem também opção de usar modo escuro.

Achei um pouco estranho porque não achei onde estava o vídeo do download. Entendi que, após fazer o dowload, para efetivamente ter ele no seu computador você precisa tocar o vídeo no player embutido para, então, conseguir copiá-lo para o seu computador.

Mas isso me deixou preocupado: onde está o vídeo baixado? Penso que ele está em alguma pasta do NAS mas eu não consegui encontrá-lo... Depois de muitos e muitos downloads, será que vou torrar meu espaço de armazenamento?

Ele tem muitas configurações, permite editar uma série de metadados, enfim, é muito bom. Mas esse questão do download me deixou com uma pulga atrás da orelha... :\

Vamos agora para a cereja do bolo: um bom programinha em Python!


3 - Python

É aqui que as coisas ficam interessantes! Não vou ensinar aqui a instalar o Python nem as dependências do programa. Se você optou por isso, imagino que saiba resolver essas questões ou que terá interesse em aprender. O site do Python ensina isso muito melhor do eu seria capaz de fazer.

Basicamente o programa usa a biblioteca "pytube" para fazer o download do vídeo e de algumas informações (título do vídeo, tamanho do arquivo e duração do vídeo). 

Ele pede a URL do vídeo, apresenta uma barra de progressão do vídeo e ao final avisa que o vídeo foi baixado e mostra as informações.
from pytube import YouTube
from pytube.cli import on_progress
import pytube.request

pytube.request.default_range_size = 500000

def completou_download(a, b):
completo = '\n\nDownload Completo!\n'
titulo = 'Título: ' + stream.title + '\n'
tamanho = 'Tamanho: ' + str(stream.filesize / 1000000) + ' Mb\n'
duracao = 'Duração: ' + str(yt.length) + ' Segundos\n'

lista_inf = [completo, titulo, tamanho, duracao]

for t in lista_inf:
print(t)
print('-*' * 30)


url = input('\nDigite a URL do vídeo: ')
try:
yt = YouTube(url, on_progress_callback=on_progress, on_complete_callback=completou_download)
stream = yt.streams.filter(progressive=True, file_extension='mp4').get_highest_resolution()
print('\nIniciando Download...\n')
stream.download()
except:
print('\nOoops! Algo deu errado!\n')
Duas dicas para instalação do Python e da biblioteca "pytube":

    1 - às vezes você pode encontrar um erro do tipo 'urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'. Para resolver isso, ao menos no MacOS, abra a pasta /Aplicativos/Python 3.x (onde x é a versão que você está usando) e clique duas vezes no arquivo "Install Certificates.command". Se você tiver mais de uma versão instalada, faça isso em todas as versões.


    2 - para instalar o "pytube", digite o comando:  
# pip install pytube
Porém, às vezes, você pode se deparar com este erro ao depurar e executar o programa:
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import pytube
ImportError: No module named 'pytube'
Aqui provavemente é porque deve haver mais de uma versão do pip e do Python instaladas.


No meu caso, repare que eu tenho a versão 3.9.1 do Python instalada e a versão 22.3.1 do pip que está no Python 3.9

No meu caso, digitando pip ou pip3 já corresponde à única versão instalada do Pyhton. Portanto, o comando para instalar o "pytube" pra mim mostra isso:


Se você tiver mais de uma versão instalada, precisará digitar "pip install pytube" e "pip3 install pytube" para baixar o "pytube" em ambas as versões do Python instaladas.

Bom, com todas as dependências resolvidas, a reposta é essa aqui:


Pronto!

Existe mais uma dica extra. Na verdade eu já dei essa dica lá atrás, há dois anos!! Veja ela aqui. Essa dica trata do cxfreeze, uma biblioteca do Python que cria um executável. Depois de digitar esse programa em Python para baixar vídeos do Youtube, vá no link acima (esse aqui) e crie um executável desse programa.

Nesse post você viu três formas de fazer download de vídeos do Youtube! Escolha a sua e seja feliz!

quarta-feira, 25 de janeiro de 2023

Synology Tutorial: como obter o UID e GID do usuário do Synology

Pessoal,


Tutorial rapidinho para obter o UID (User IDentifier) e GID (Group IDentifier) do usuário do Synology. Ocasionalmente esses nomes aparecem também com PUID ou PGID.

Grosso modo, o UID é um número criado pelo DSM (e por distros Linux, pelo BSD, pelo MacOs, etc) para cada usuário do sistema e essa identificação é que sinaliza ao sistema operacional quais recursos o usuário pode ter no sistema.

O GID funciona de forma parecida, mas para grupos de usuário. Geralmente o GID 0 é do root, de 1 a 99 é reservado para o sistema e o 100 é para o grupo dos usuários.

Com frequência precisamos saber o UID e o GID para algum container do Docker.

Explicado isso, temos dois modos de descobrir o UID e GID.

O primeiro modo é por SSH, via Terminal, Putty ou equivalente. Para tanto, você deve saber o IP do seu NAS, ter um usuário ativo para acesso e ter o SSH ativado.

Para ativar o SSH, vá em Painel de Controle -> Terminal e SNMP -> Terminal -> Ativar o serviço SSH. A porta padrão do SSH é a 22, mas é extremamente recomendado que você utilize outra porta que não seja a padrão.


Para efetivamente obter o SSH, abra o Terminal / Putty / Shell e digite o comando e tecle enter ao final:

# ssh <usuário>@<ip do seu NAS>

Após entrar no NAS, digite o comando abaixo e tecle enter:

# id
Pronto, simples e efetivo.


Esse modo funciona em basicamente qualquer situação.

Mas existe uma outra forma mais "divertida" e prática de fazer isso no Synology

Vá em Painel de Controle -> Programador de Tarefa:


Agora vá em Criar -> Tarefa agendada -> Script definido pelo usuário:


Na tela que se segue, em "Geral" escolha o nome da tarefa e o usuário:


Em "Programação", escolha "Executar na seguinda data" e "Não repetir", uma vez que queremos acessar esta informação apenas quando desejado, não de forma programada.


Em "Configurações de tarefa", ative "Enviar detalhes da execução por e-mail" e coloque o seu email no campo; em "Executar comando", no campo "Script definido pelo usuário", digite "id". Termine com "OK".


Para executar o script, selecione a tarefe e clique em "Executar" e confirme que deseja executar.


Agora acesse seu email e veja:


Pronto! Também simples e eficaz. Da próxima vez que quiser obter o UID e GID, é só mandar rodar essa tarefa novamente!

Por enquanto é isso, pessoal!

terça-feira, 24 de janeiro de 2023

Tutorial e Dica: FreeFileSync para MacOS

Pessoal,


Resolvi aqui a melhor forma para fazer os meus backups. Conheçam o FreeFileSync (daqui pra frente FFS para facilitar).

Recapitulando: eu costumava usar CarbonCopyCloner para fazer meus backups. Usei por anos. Até que inventei de comprar um Synology e descobri que, uma vez que ele usa uma formatação diferente de disco, o CCC não funcionará direito lá. As permissões dos arquivos ficam inoperantes e o CCC refaz o backup a cada gravação. O problema é que tenho uma pasta de mídias com mais de 01TB de dados. Se ele ficar regravando isso toda vez, vai estragar os HD (o de leitura e o de gravação) e perde completamente o propósito da coisa.

Assim, tive que procurar outras soluções.

Achei o ChronoSync, que faz tipo o que o CCC faz, funciona para o NAS. Só que é pago.

O Synology tem duas opções: Hyper Backup e Active Backup for Business. O primeiro copia todo o MacMini para o Synology. É ótimo, mas não é o que eu quero fazer, uma vez que não permite escolher pasta a pasta. É meio tudo ou nada. O segundo é mais ou menos a mesma coisa.

Procurei vários e vários programas mas só encontrei um que resolveu: o FreeFileSync.

Ele permite escolher pastas ou discos, faz a sincronização das pastas ou o backup incremental e é de graça.

Para criar uma tarefa é bem simples: clique em Novo, arraste ou digite o endereço de origem (lado esquerdo) e arraste ou digite o endereço do destino (lado direito).


Clicando na "roda dentatda" azul você escolhe como que comparar os arquivos da origem e do destino (por data e tamanho, por conteúdo ou apenas pelo tamanho) e na "roda dentada" verde você escolher o que fazer na cópia (coloca todas as modificações dos dois lados em ambos os lodos, espelha um lado no outro, só atualiza - esse é o 'incremental' - ou personaliza o que quer fazer). Existe ainda um filtro onde é possivel excluir alguns arquivos e pastas do backup.


Após isso, basta salvar e dar o nome que quiser para a sua tarefa de backup.


Se você reparar bem, há três opções para salvar: "Salvar" e duas de "Salvar Como". A primeira não tem dúvidas e o programa grava com um nome padrão. As outras duas permitem a escolha do nome. Só que a opção da esquerda salva apenas a configuração do seu backup. Já a da direita salva um arquivo em lote (batch, se estivessemos no Windows seria .bat) que será utilizada para criar o agendamento do backup. Explico mais a frente.


Após isso, clique em "Sincronizar" e ele começará as cópias (apesar de estar escrito "sincronizar", o programa fará o que você escolheu na "roda dentada" verde). Aí é deixar o backup ser feito, às vezes demorando algumas horas...


O interessante vem para fazer o agendamenteo dos backups. A primeira coisa é criar uma tarefa em lote, um "batch". Para isso selecione uma tarefa que você já tinha salvado antes e, após clicar nela, salve como "Tarefas em Lote", clicando no icone do disquete com caixa de DOS (eita coisa véia...).


Marque as opções como aparecem acima. Se você usa Windows, precisará criar uma tarefa como o Windows Task Scheduler (veja como fazer isso aqui). Para o MacOS, usaremos o Automator. Abra ele em Aplicativos ou procure por ele no Spotlight ou Launchpad.


Escolha "Novo Documento" e, na tela que se abrirá, escolha "Alarme do Calendário":


Agora você precisa ir na pasta onde salvou o arquivo batch (a pasta "Documentos" é o padrão de salvamento, caso você não tenha escolhido nenhuma; eu escolhi "Documentos -> FreeFileSync", para deixar mais organizado). Agora, arraste o arquivo como o final "ffs_batch", ou seja, o arquivo batch para o Automator:


No Automator, clique na opção "Arquivos e Pastas" em Bibliotecas e depois arraste a opção "Abrir Ítens do Finder" para o seu workflow.


E agora salve em "Arquivo -> Salvar...". Assim que salvar, o aplicativo "Caelendário" irá abrir automaticamente. Clique na tarefa que você criou e escolha o dia, hora e frequência de backups.


Pronto! Simples, efetivo e de graça!

Vamos agora procurar outro problema para resolver!

Por enquanto é isso, pessoal!

quarta-feira, 11 de janeiro de 2023

Tutorial: Instalando o Duplicati pelo Docker no Synology.

Pessoal,


Spoiler: Deu certo, mas deu errado... Leia o post e no final você entenderá :(

Dando continuidade ao post anterior onde falei dos problemas que tive com o Carbon Copy Cloner para backupear o Mac para o Synology e comecei a usar o ChronoSync.

Como disse, o ChronoSync custa U$50,00. Tá fácil não. Assim, optei por tentar com o Duplicati.

O Duplicati tem opção para instalar no Mac (e vários outros SOs, veja as opções aqui) e tem opção de instalar pelo Docker no Synology (e no Mac também, mas não tenho Docker no Mac). Faz backup incremental e é gratuito. Confira a página deles no GitHub (aqui) também! Pelo GitHub também é possível fazer o download para as várias plataformas (veja aqui a última versão, a v2.0.6.104, até a data de publicação deste post).

A idéia é instalar a versão de MacOS para evitar ter que mapear um HD externo que está no Mac através do Synology. Sei que isso vai dar um bom trabalho e prefiro evitar, indo direto para o Mac "empurrando" os arquivos para o Synology do que o Synology "puxando" os arquivos do Mac.

A instalação do Duplicati no Mac não está tão fácil. Parece que há um problema após a atualização do Mac para Monterey e o Duplicati está sofrendo para funcionar. Na verdade funciona, mas dá um trabalhinho para aparecer.

O macete (passado aqui no fórum do Duplicati) é instalar a última versão do Duplicati e ir neste site do GitHub e baixar o arquivo "net.duplicati.server.plist" e colocá-lo em uma pasta específica. Para baixar, clique em "Download ZIP", depois descompacte a pasta (terá dois arquivos) e depois copie para a outra pasta:


Agora, vá ao Finder -> Downloads e descompacte o ZIP baixado. Copie o arquivo com Command + C.

Para a pasta de destino, deixe a tela do Finder ativa (clique nela apenas) e pressione junto as teclas "Shift + Command + "." "(Shift + Command + "ponto"). Os arquivos e pastas ocultos irão aparecer.


Agora navegue até a pasta "Biblioteca -> LaunchAgents" e coloque o arquivo copiado lá. Depois volte para outra pasta (como Downloads e pressione Shift + Command + "ponto" para esconder de novo as pastas e arquivos e evitar de fazer merda...


Se você fez tudo certo, vai digitar esse endereço no navegador e vai abrir o Duplicati rodando no seu Mac: "127.0.0.1:8200/ngax/index.html#". Esse é o famoso "localhost", ou seja, o serviço está hospedado localmente no sua máquina. Depois, quando instalarmos o Duplicati no Docker no Synology, ele será acessado pelo endereço "<IP-do-seu-servidor>:8200/ngax/index.html#".

Na página de login ("First run setup") eu escolhi a opção de não colocar senha, uma vez que tem apenas um usuário. Eu, no caso.

Agora crie um backup:


Escolha o nome do backup e a criptografia (eu escolhi sem criptografia para este backup):


No próximo passo, você escolhe o local de destino. Pode ser local, em vários serviços de nuvem (Box, Dropbox, Google Drive, etc) ou no seu servidor local. Eu vou "roubar" e fazer do jeito fácil. Escolha "Pasta ou Unidade Local". Vai aparecer uma opção para navegar nos diretórios e uma para exibir pastas ocultas. Escolha essa, uma vez que, no nosso caso, a pasta destino é remota. Assim, navegue até a pasta "Volumes" e depois até "Livros"(que eu já havia criado no Synology). Depois clique em "Testar Conexão" e deve aparecer "Conexão estabelecida!".


Agora vamos configurar a pasta de origem. É só navegar. No meu caso, como a pasta também é remota (está num HD externo), é só clicar em "Exibir pastas ocultas" e navegar até a origem. Ao final, clique em próximo.


O próximo passo é agendar a tarefa e definir se você quer apagar ou não os arquivos. Eu prefiro não apagar. Salve e siga em frente para executar!


Funcionou perfeito! Só que...

Descobri que o Duplicati entende que essa função de copiar para outra pasta é "sincronização" e ele não faz isso. Segundo os autores (só vi depois dessa trabalheira toda), o Duplicati compacta e criptografa os arquivos por razões como "segurança, espaço e eficiência".

Ok, mas não é o que estou procurando. Nem vou instalar no Synology. Continuo na luta.

É isso, pessoal!

Dica: Fazendo o Backup do Mac para o Synology do jeito certo!

Pessoal,


Fui começar a fazer o backup para o Synology e descobri uma coisa interessante.

Percebi que algo estava errado quando o backup ficava repetindo eternamente. Melhor dizendo, cada backup era um novo backup, o Carbon Copy Cloner, por algum motivo, não estava fazendo o backup incremental mas estava começando um backup novo a cada vez que era solicitado. A cada novo processo de backup, os horários e datas eram atualizados no destino. Obviamente algo estava errado.

Isso tem várias problemas: dano aos discos de leitura e gravação, perda de tempo, gasto de energia, não garantia do backup efetuado. Ou seja, fria!

Assim, fui olhar as configurações do CCC e não encontrei nada para mudar. Quer dizer, mudei várias coisas, quase todas as configurações, mas o problema persisitiu.

Fui procurar nos fóruns e não achei nenhum relato desse tipo.

Achei estranho porque no NAS anterior, o OMV, isso funcionava bem. Talvez pelo modo de montagem dos discos (lá estava tudo dentro de um disco virtual no Proxmox, no Synology os discos são "reais", sei lá).

Procurei então direto na fonte, na documentação no site do CCC. E lá está escrito (veja aqui) que sistemas de arquivos que não sejam os do padrão MacOS (APFS e HFS+) podem não funcionar bem no CCC, uma vez que o software é exclusivo para MacOS. Ainda, há problemas com propriedades e permissões. O DSM, na versão 7, formata os discos em EXT4 ou BTRFS.

A forma como tanto o TrueNAS e o OMV tratam com as permissões dos usuários também é diferente no DSM.

Assim, a conclusão que cheguei é que o CCC, pelo menos a versão que eu tenho, não permite fazer backup adequadamente no Synology...

Solução? Procurar outro software para isso.

O meu backup é simples: escolho uma pasta de origem no HD externo (formatado em HFS+) e envio para uma pasta com o mesmo nome no Synalogy. Claro que o primeiro backup é super demorado, mas os próximos são rápidos porque o software analisa se o arquivo já existe e, caso positivo, não grava e vai para o próximo. Isso é backup incremental.

Então fui procurar outro software. Não encontrei nenhum no Synology que fizesse isso :( Devo ter tentado uns 10 programas no Mac e só um resolveu o meu problema. Vários faziam backup para cloud services ou imagem de disco e nada disso era o que eu precisava.

Achei um, open source, que faz (quase) tudo que eu preciso: FreeFileSync. A cópia é bem rápida, você escolhe as pastas de origem e destino, criptografa se quise, tem opção para sincronizar e apenas copiar o que for novo da pasta origem na destino (e nesse caso você pode optar por apagar o que estiver diferente na pasta de destino ou manter os arquivos), etc.

O FileFreeSync tem dois problemas. O primeiro, irrelevante, mas típico de várias ferramentas opensource do mundo Linux: é feio pra caramba!


Esse é um problema de menos. Tolero a feiura dele porque ele é extremamente competente no que faz.

O segundo problema é o complicado: não tem função para agendar as sincronizações / backups... :(   Aí é de lascar! Quer dizer, tem. Mas é complicado. Usa o Automator e o calendário.

Só o ChronoSync resolveu o problema. Ele faz o backup bem parecido com o CCC, permitindo escolher as pastas de origem e destino e agendar os backups. E o melhor, sem dar o problema com as permissões que o CCC estava dando.

Ainda vou testar mais uma: Duplicati, via Docker, porque o ChronoSync custa 50 Bidens, uns 250 a 300 petralhas, na conversão atual. É pouco não...  Mas essa vai para o próximo post.

Vou tentar o FreeFileSync novamente com esse agendamento. Afinal de contas, a concorrência tá pedindo 50 doletas...

Por enquanto é isso!

segunda-feira, 9 de janeiro de 2023

Tutorial: Instalar DUC do No-IP e DuckDNS no Docker do Synology

Pessoal,


Uso o DDNS do No-IP para algumas atualizações. Como já falei algumas vezes, como o meu IP público é dinâmico, preciso forneceu uma atualização frequente ao No-IP (e também ao DuckDNS) para eles saberem para onde apontar para o meu IP.

Para o DuckDNS, é fácil. Vá ao Portainer -> Stack e crie um novo Stack:
version: "2.1"
services:
  duckdns:
    image: lscr.io/linuxserver/duckdns:latest
    container_name: duckdns
    environment:
      - TZ=America/Sao_Paulo
      - SUBDOMAINS=<seu subdomain>.duckdns.org
      - TOKEN=<seu token>
    restart: always
Coloque o seu subdomínio e o seu token e pronto!

Já para o No-IP, não existe um container novo para isso, muito menos um do No-IP. Eles preferem que você instale um pequeno programa que fará isso.

Para fazer pelo Docker, vou usar essa imagem: aanousakis/no-ip. Ela também é por linha de comando, mas é bem simples.

Abra o Terminal / Putty e digite:
# docker container run -d -e USERNAME=user1 -e PASSWORD=123 -e "DOMAINS=domain1.ddns.net" -e INTERVAL=5 aanousakis/no-ip
Lembre-se apenas de trocar os dados e colocar seu username e senha do No-IP, além do nome do subdomínio. Detalhe: o username não é o email do cadastro do login, ok?

Pronto! Melhor esses processos rodarem em Docker do que ter que gastar muito recurso em uma VM só pra isso!

É isso, pessoa!

Tutorial: Instalar o Portainer com Stacks no Synology

Pessoal,


Fui instalar o Docker para subir algumas coisas pro NAS e percebi uma coisa: o Portainer da Synology não tem opção de Stacks, ou seja, não tem como usar o Compose para configurar os containeres.

Bom, a instalação do Docker é fácil. Vá em Centro de Pacotes -> Todos os Pacotes -> vá descendo até aparecer "Código Aberto". O Docker está (ou deveria estar) aí. Só clicar em "Instalar" e pronto.

Caso não tenha a opção, siga esse meu tutorial aqui! É bem fácil de resolver.

Instalado o Docker, para acessá-lo vá no Meu Principal -> Docker -> Registro e pesquise pelo container que você procura. Tem um ícone na frente da imagem, em forma de seta, que leva você para o hub.docker.com, um excelente serviço com milhares de imagens para sua escolha.

O meu problema é que instalei uma imagem do Portainer (portainer/portainer-ce) e a imagem não tem o Stack para edição das configurações. Assim, para criar e subir os containeres teria que fazer por linha de comando. Tô fora!

Assim, procurando, achei uma boa dica no próprio site do Portainer.

Faça a instalação do Docker normalmente. Depois vá ao seu armazenamento, através do File Station e crie uma pasta chamada "portainer-ce" (ou o nome que desejar, é claro), dentro da pasta Docker (que foi criada na instalação do Docker.

Depois você tem que conectar por SSH com o Synology e fazer essa instalação por linha de comando (fazer essa apenas, ok; fazer todas, tô fora!).

Para tanto, rode o seguinte comando:

# docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Essa linha vai ter que sofre algumas alterações:

- a porta 9443 é utilizada pelo Docker do Synology, assim vou trocar para "-p 9000:9000";

- o endereço da pasta "data" também terá que ser trocado pelo da pasta que criamos acima. No meu caso, fui em File Station, naveguei até a pasta e cliquei com o botão direito para acessar as propriedades e ver em qual volume estava. No meu caso, o endereço dela é "/volume3/docker/portainer-ce". Então, para mim, fica assim: "-v /volume3/docker/portainer-ce:/data portainer/portainer-ce".

Assim, o comando todo é:

docker run -d -p 8000:8000 -p 9000:9000 --detach --name portainer-ce --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume3/docker/portainer-ce:/data portainer/portainer-ce:latest


Pronto, agora ao acessar a página do Portainer (no meu caso: 192.168.1.2:9000), já cai aqui:


Perfeito!

Quer ver o vídeo? Tá aqui embaixo.



É isso, pessoal!