Copie arquivos entre dispositivos, com a máxima segurança, usando o grsync

O Grsync é uma interface gráfica para o programa de cópias rsync, desenvolvida em GTK2.
Até o momento, suporta os recursos mais importantes do rsync da linha de comando e é indicado para realizar sincronização de diretórios locais.

Pode ser chamado da interface gráfica, como qualquer outro programa e tem versões para Windows, Mac e Linux.

Se preferir executar da linha de comando (CLI), é possível especificar uma determinada sessão a ser carregada, em vez da sessão padrão.
Se nenhum parâmetro for dado, na CLI, ele carrega a última tarefa realizada, o que facilita a vida de quem sempre usa o rsync de uma só maneira, para copiar os mesmos arquivos para o mesmo destino.

Como instalar o Grsync

Usuários Windows e Mac, vejam os links de download ao final do post.

Para a turma do Linux, o aplicativo faz parte dos repositórios (lojas) oficiais das principais distribuições.
Debian Ubuntu Instalar programas

Será fácil encontrá-lo no seu gerenciador/instalador de programas (ou loja de apps).
Instalação do grsync

Quem prefere a linha de comando, pode usar o apt (Debian/Ubuntu):


sudo apt install grsync

Como usar o Grsync

Basicamente, tudo o que se precisa fazer é indicar a pasta/diretório de origem e o destino.
Claro que há uma série de outras opções de ajustes para as suas cópias saírem de acordo com as suas necessidades.
A interface está quase toda traduzida para o português, o que facilita fazer suas escolhas, quanto ao modo de operação do programa.
Tela do Grsync

Você pode passar o cursor do mouse sobre as alternativas do painel, para obter uma ajuda sensível ao contexto, através de uma pop up box.
O painel de opções avançadas apresenta itens de segurança de dados durante a cópia e um espaço, semelhante à linha de comando, para personalizar suas opções.

Durante a execução, o Grsync exibe o andamento das cópias individuais (no caso de vários arquivos) e no decurso total da tarefa.

Não há nada que o Grsync faça que não seja possível realizar, com mais flexibilidade e controle, na linha de comando com o rsync.
Mas é uma aplicação alternativa e excelente para quem prefere usar a GUI para transferência de arquivos.

Se quiser saber mais sobre o rsync, leia aqui.

Referências

Página de download da versão para Windows: http://grsync-win.sourceforge.net/
Página de download da versão para Mac: http://grsync-mac.tuxfamily.org/?lang=en

Como fazer buscas via grep dentro de arquivos texto .doc

Arquivos .doc, do Microsoft Office são arquivos binários, com muito pouco conteúdo em texto e, portanto, imunes à leitura pelo comando grep.
Mas você pode contornar facilmente o problema com o uso de uma ferramenta adicional, o catdoc.

Geralmente, o utilitário não costuma vir instalado, por padrão.
Mas ele está disponível nos repositórios oficiais da maioria das distribuições GNU/Linux. É só ir lá e pegar…

No Debian ou no Ubuntu, faça a instalação via apt:


sudo apt install catdoc

O catdoc tem limitações.
A partir do programa, é possível realizar um cat “normal” em cima de qualquer arquivo .doc comum.
Já o conteúdo de arquivos criptografados ou do tipo .docx infelizmente não pode ser visto ou pesquisado pelo aplicativo.
catdoc grep

O utilitário, combinado com o comando grep, dará o resultado desejado.
Segue um exemplo:


catdoc Documentos/Guia\ do\ ubuntu.doc | grep -i ubuntu

Leia mais sobre o comando grep.

Como pesquisar em arquivos .ODT, com o comando grep

Infelizmente, o comando grep não consegue enxergar o conteúdo de arquivos .odt, bem como muitos outros arquivos que não sejam puro texto.
Arquivos binários, como é o caso, não são transparentes para o uso do grep.

Neste texto, vou mostrar como fazer a conversão do seu arquivo .odt e, durante o processo, o grep captura o conteúdo e faz a busca pelas strings que você sugere, na linha de comando.
Para isto, o utilitário odt2txt faz a conversão do .odt e repassa o resultado ao comando grep.
A sintaxe é assim:

odt2txt --stdout nome-do-arquivo.odt | grep -i string-a-ser-pesquisada

Veja um exemplo:


odt2txt --stdout Documentos/Linux\ Cloud.odt | grep -i linux

A Evolução do GNU/Linux
Distribuições GNU/Linux
Certificação Linux
Mercado Linux
Conhecendo a Arquitetura do Sistema Linux
Linux Inside: Instalação Desktop Debian e CentOS

Com a opção ‘–stdout’, o utilitário odt2txt desvia o resultado para a saída padrão do sistema.
Em seguida, o grep é chamado para interceptar o resultado, no modo texto e exibir as linhas que contém a cadeia de caracteres solicitada.

Leia mais sobre o comando grep.

Como baixar pro seu computador as suas imagens do Google Photos

Os vários planos de armazenamento do Google Photos podem caber em mídias físicas de armazenamento (sob o seu poder) — desde pendrives de 16 Gb a drives externos de 1 Tb ou mais.

google photos plano básico de armazenamento

Se você tem um plano básico (como eu), de 15 Gb, pode fazer um backup rápido e fácil dos seus arquivos de imagem.
Eu reservei um pendrive para receber o meu backup.

Como fazer o download das imagens do Google Photos

Para poder baixar as imagens do Google Photos, você precisa configurar o Google drive para conter a pasta de fotos do primeiro.
Para isto, vá até o https://drive.google.com e clique no ícone de menu, no canto superior direito da tela.
Em seguida, selecione Configurações (ou settings)
configurações do google drive

Role a página para baixo e ative a opção “Colocar automaticamente seus itens do Google Fotos em uma pasta em Meu Drive”.
Veja a imagem, abaixo.

A depender do volume de dados armazenado na sua conta do Google Photos, você terá que aguardar um tempo, para que a transferência seja feita.
Quando esta etapa estiver pronta, a pasta Google Photos vai estar acessível no painel “Meu Drive”.
Para baixar o seu conteúdo, clique com o botão direito do mouse sobre o ícone “Google Photos” e, depois, clique em “Fazer download”.
download google photos

Novamente, aguarde o tempo requerido para baixar um pacote .ZIP com todo o conteúdo do Google Photos.
O nome do arquivo (pacote) deve ser algo parecido com ‘Google Photos-20180357G66672167H-008.zip’

Uma vez baixado, ele pode ser descompactado no seu sistema ou armazenado diretamente no local que você achar melhor.

Conclusão

Se você preferir, pode entrar na pasta ‘Google Photos’, a partir do “Meu Drive’ e selecionar apenas o que deseja baixar.

No meu caso, o arquivo de backup ainda tem pouco mais de 1,5 Gb.
Separei um pendrive de 16 Gb. exclusivo para o Google Photos e, portanto, vai dar para armazenar vários backups simultaneamente.
À medida em que o dispositivo for ficando cheio, posso remover os arquivos de backup antigos.
Posso também planejar, com calma, a compra de um pendrive com mais capacidade e, possivelmente, o upgrade da minha conta no Google Photos/Drive.

Se quiser, comente sobre como você prefere manter suas fotos em segurança?

Como copiar arquivos aleatoriamente no Linux

Copiar ou mover uma quantidade de arquivos, de um diretório no seu sistema, para outro, em ordem aleatória, tem suas utilidades.
Se você tem uma pequena caixa de som, com entrada USB ou cartão SD e quer ouvir suas músicas em ordem aleatória, misturadas ao acaso, mas não tem o botão random ou shuffle no aparelho — a solução é garantir que as músicas já estejam em ordem aleatória no seu dispositivo de armazenamento.
Este problema é interessante e possui várias formas de ser resolvido, no GNU/Linux.
Vamos conhecer algumas.
Antes de começar, contudo, recomendo copiar todas as músicas que você pretende envolver no processo para um outro diretório e fazer a operação a partir dele. Se algo der errado, as chances de perder arquivos é menor.

Use o comando shuf no Linux

Se você tem o aplicativo shuf (shuffle, quer dizer embaralhar) instalado, pode resolver o problema com uma linha de comando simples.
No exemplo abaixo, as músicas estão todas juntas em uma pasta chamada ‘origem’. Serão copiadas para a pasta ‘destino’.

shuf -zen200 origem/* | xargs -0 mv -t destino

Explicando o comando shuf -zen200 — com seus 3 parâmetros:

  • -z — finaliza cada linha (da lista de arquivos que vai ser criada na memória) com um 0 byte
  • -e — trata cada argumento como uma nova linha input
  • -n200 — determina a quantidade de linhas a ser processada. Altere o valor para quantidade de arquivos presente no seu diretório

O utilitário xargs cria e executa a linha de comando a partir da saída fornecida pelo shuf.
De acordo com o manual do xargs, a opção ‘-0’ indica que os itens terminam com um caractere null (sem valor), em vez de espaços em branco e que os (eventuais) caracteres especiais (que compõem os nomes dos arquivos) não devem ser tratados como especiais e devem ser entendidos literalmente.
Por último, a opção ‘-t’, do comando mv, indica que o nome que o segue é nome de diretório e não nome de arquivo comum.
Se você quiser ver a ação acontendo, use ‘-vt’, assim:

shuf -zen200 origem/* | xargs -0 mv -vt destino

Outra alteração que você pode fazer é substituir o comando mv (mover) por cp (copiar):

shuf -zen200 origem/* | xargs -0 cp -vt destino

Para ver os arquivos copiados, no destino, use o comando ls -tlr — com estes parâmetros, o comando ls mostra os arquivos na ordem em que foram gravados.

Lista de arquivos mp3
Clique para ver detalhes.

Use o comando find para listar, embaralhar e copiar arquivos de um diretório para outro

Uma solução equivalente envolve o comando find.
Um pouco mais complexa, porém mais flexível é voltada para usuários mais avançados.
Com esta opção é possível entrar recursivamente nos diretórios em busca de arquivos e transferi-los para dentro de outro diretório ou dispositivo de armazenamento, “totalmente desorganizados”, do jeito que eu quero.
Veja como funciona:

find origem -type f -print0 | sort -Rz | cut -d $'\0' -f-200 | xargs -0 cp -nvt destino

Se você quiser entender melhor o comando find, leia alguns artigos que contém exemplos dele.

Como renomear os arquivos aletoriamente

O que resta saber, agora, é se o seu mp3 player “físico” toca os arquivos na ordem em que se encontram na mídia de armazenamento ou se os toca em ordem alfabética (ou qualquer outra).
No meu caso, os arquivos são tocados na ordem em que foram gravados.
Se este não for o seu caso e se seus arquivos seguem o padrão de ter em seus nomes a identificação do cantor/banda etc. tudo o que fizemos até aqui, provavelmente terá sido inútil.
O meu player (velhinho) não exibe no visor o nome do arquivo que está tocando.
Esta característica torna os nomes dos arquivos irrelevantes, quando conecto uma mídia de armazenamento nele.
Portanto, se eu renomear todos os meus arquivos mp3 aleatoriamente, vou obter o mesmo resultado: tocá-los aleatoriamente.
A linha de comando, que segue, altera os nomes de arquivos usando o sha1sum, para gerar códigos aleatórios.
Recomendo copiar seus arquivos para um diretório temporário antes de executar o próximo comando — uma vez que ele impossibilitará saber “quem é quem” no diretório, depois que alterar todos os nomes (veja o resultado, na imagem abaixo).
nomes de arquivos aleatórios
Entre no diretório contendo seus arquivos e execute o seguinte:

for fname in *.mp3; do mv -v "$fname" $(echo "$fname" | sha1sum | cut -f1 -d' ').mp3; done

Agora copie os arquivos pro pendrive ou cartão SD e veja se funcionou!

Referência: http://unix.stackexchange.com/questions/38335/best-method-to-collect-a-random-sample-from-a-collection-of-files