sexta-feira, 14 de junho de 2013

Backup incremental com rsync

Para fazer backup de forma eficiente a fim de sincronizar duas pastas, HD externo ou mesmo um backup remoto local o rsync é a solução ideal para isto.

Para instalar o rsync, procure pelo pacote "rsync" no seu gerenciador de pacotes. 

Você deve informar o diretório de origem e o diretório de destino, para onde os arquivos serão copiados. 
$ rsync -av /home/nando/docs/ /mnt/dados/backup/

A opção "-a" preserva todas as permissões de arquivos e também faz copia recursivamente e o -v serve para ver os nomes dos arquivos que estão sendo copiados.

Exemplo da saída do  backup feito

$ rsync -av /home/nando/docs/ /mnt/dados/backup/ 
sending incremental file list 
./ 
Acesso remoto vnc com tightvnc com desktop xfce4.odt 
Chat do facebook via pidgin sem precisar abrir o navegador.odt 
Conversão completa de videos  no Linux 2012.odt 
Criando e reproduzindo playlist de musicas.odt 
Criando pasta criptografadas com Cryptkeeper .odt 
Desktop Remoto no Linux.odt 
Gravado e ripando mídia de Blu-Ray no GNU-Linux.odt 
Importar registros pra oobase.odt 

sent 5479040 bytes  received 186 bytes  10958452.00 bytes/sec 
total size is 5477423  speedup is 1.00

Importante:
O uso da barra ( / ) no final do nome dos diretórios de origem e destino é importante dentro da sintaxe do rsync para a correta copia do que foi especificado.

Caso você tenha apagados arquivos por engano ou formatado a partição deste que o backup não esteja armazenado nesta partição para recuperar os dados, você deve inverter a ordem dos diretórios no comando, sendo o diretório do backup a origem e a diretório original seja o destino conforme exemplo abaixo. 
$ rsync -av /mnt/dados/backup/  /home/nando/docs/ 

Exclusão de arquivos desnecessário que estão no backup

No diretório /home/nando/docs/ foi deletado o arquivo  “Processador Amd Sempron 145 2.8ghz.pdf” propositalmente e criado o arquivo “xubuntu 12.10 usando.txt ”


$ rsync -av --delete /home/nando/docs/ /mnt/dados/backup/
sending incremental file list 
./ 
deleting Processador Amd Sempron 145 2.8ghz.pdf 
xubuntu 12.10 usando.txt 

sent 192553 bytes  received 34 bytes  385174.00 bytes/sec 
total size is 5931013  speedup is 30.80

O "--delete" faz com seja apagados no diretório usado para backup todos os arquivos que foram apagados também no diretório original, ficando uma cópia fiel. Se o objetivo é fazer com que o backup mantenha  arquivos antigos  você não deve usar a opção --delete, de forma que você possa recuperá-los posteriormente.


Notas:
O rsync é ótimo para fazer backup incremental e também existe um ótima gui gráfica pra o mesmo com o nome de grsync em gtk, não é necessário ter o gnome e suas libs instaladas.




Sistema de arquivos usado pelo Windows


Um detalhe importante do rsync e que para copiar arquivos para partições ou disco formatado em FAT16, FAT32 ou NTFS não use o flag -a no rsync pois este flag somente deve ser usado com sistema de arquivos do GNU/Linux, pois caso seja usado os arquivos não serão gravados em sistema de arquivo Windows sendo exibido a seguinte linha para cada arquivo a ser copiado:
rsync: chgrp "caminho-destino.nome-do-arquivo failed: Operation not permitted (1)

Para copiar subdiretórios ou seja recursivamente para partições Windows, você deve usar o flag -r (recursivamente), então os flags deve ser -vr para gravar em sistema de arquivos Windows.
O flag -a já faz copia recursivamente e preserva todas as permissões de arquivos e por isto somente funciona com sistema de arquivos do GNU/Linux.

Para ajuda: rsync --help e man rsync

O rsync pode ser utilizado com o samba ou com o ssh remotamente também.

quinta-feira, 13 de junho de 2013

Criando um VideoDVD com menus no GNU/Linux


Se você filmou uma festa sua, viagens, lazer etc... você pode criar um vídeo em DVD com menus, foto de fundo do menu principal e som de fundo do mesmo, cor da fonte diferente para item selecionado e não selecionado e ter vários títulos com vários vídeos em cada um facilmente instalado o devede para assistir no seu aparelho de dvdplayer ou blu-ray player; procure no repositório da sua distro por devede.
Não vou explicar o uso do devede pois ele é bem fácil de usar e bastante intuitivo apenas os vídeos a ser utilizados tem que está num formato suportado pelo devede como mp4, avi e mpg.
O devede permite salvar o seu projeto enquanto você não terminar por completo pra continuar noutro dia.
Você também não precisa queimar uma mídia de DVD para ver como ficou, basta apenas ir até a parte de criar a imagem ISO no disco quando tudo tiver pronto que será na pasta de nome movie e depois cancelar a próxima etapa e saia do devede, podendo você visualizar como ficou o seu videodvd. Se tudo ficou do jeito que você gostou basta usar o seu programa favorito para gravar a imagem ISO.



Visualizando o VideoDVD sem montar a imagem ISO

Com o mplayer:

$ mplayer dvd://2  -dvd-device /home/nando/movie/movie.iso 

Troque o 2 pelo número do  chapter desejado (vídeo) pra assistir.

Mplayer com suporte ao menu do DVD e mouse:

$ mplayer -nocache -mouse-movements dvdnav:// -dvd-device /home/nando/movie/movie.iso


Com o xine:

$  xine dvd://home/nando/movie/movie.iso

No xine você tem acesso ao menu principal do DVD, pode avançar facilmente pra o próximo vídeo mas não tem com retornar para vídeo anterior, mas pode avançar e retroceder o vídeo atual em reprodução facilmente.
Para chamar ou ocultar o painel de controle do xine use a tecla < g >.

Para retornar para o menu principal do DVD, tecle com o mouse usando o botão direito na janela do vídeo ou no painel de controle e no menu suspenso escolha Menus/Navigation e clique no botão Raiz ou Título ou  use diretamente o atalho ALT + e (Caps Lock deve está desligado para funcionar).


Montando a imagem ISO para ver como ficou o seu VideoDVD

# mount -o loop movie.iso /mnt/bluray/ 

Onde /mnt/bluray é o ponto de montagem da imagem ISO que deve ser um diretório vazio.

Com o xine:

Sintexe:
$ xine dvd://caminho/VIDEO_TS/

Exemplo:
$ xine dvd://mnt/bluray/VIDEO_TS/ 

Com o mplayer:

$ mplayer dvd://2  -dvd-device /mnt/bluray/VIDEO_TS/

No mplayer troque o 2, por 3,4,5... (chapter) e assim sucessivamente pra ver todos os vídeos que está nos títulos do DVD.

Esta forma não mostra o menu principal do DVD.

Mplayer com suporte ao menu do DVD e mouse:

$ mplayer -nocache -mouse-movements dvdnav:// -dvd-device /mnt/bluray/VIDEO_TS/ 

Deste maneira você verá o menu principal e escutará a música de fundo se houver.
Você tanto pode usar o mouse ou o teclado para navegar. Para avançar pra o próximo vídeo use sempre a tecla PageUp, mas não tem como voltar para o vídeo anterior. Para voltar ao menu principal use a tecla <ESC>. 

Notas:
No controle remoto do seu aparelho de dvdplayer ou blu-ray player dentro do Título desejado você pode digitar o número do chapter para ir direto para o vídeo desejado sem passar um por um, bem como avançar e retroceder facilmente de um vídeo para outro.

sábado, 8 de junho de 2013

Alterando data ou hora no GNU/Linux pelo terminal


Em uma janela de terminal você tem que ser tornar root.

Sintaxe:
date mmddhhmm[yy]

Onde...
mm = mês
dd = dia
hh = hora
mm = minuto
yy = ano de 2 digito

Exemplo:
# date 0607213913

Para salvar as alterações feitas use o comando:  hwclock -w
Para ver a nova alteração digite somente o comando date.

# date 
Sex Jun  7 21:39:37 BRT 2013 


quarta-feira, 5 de junho de 2013

Reduzindo o tamanho dos arquivos pdf

Se você tem o cups-pdf instalado ou a extensão printpdf para firefox, ou baixou um pdf da internet e o arquivo tem mais de 1 mb de tamanho, você pode usar o seguinte script para tentar reduzir o tamanho do arquivo pdf, liberando mais espaço no seu disco, ao armazenar somente os pdf reduzido, caso você costuma imprimir muito para pdf ou baixa muitos arquivos pdf da Internet.

Nome do script: reduzpdf salvo em /usr/local/bin com permissão x.

Conteúdo:
# Sintaxe: reduzpdf entrada.pdf saida.pdf 
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=$2 $1 

Nota:
Não pode haver quebra de linha do comando gs devendo ser tudo em uma linha única, aqui há quebra devido a formatação da página.

No teste feito um arquivo de entrada.pdf tinha 1.2 mb de tamanho e o arquivo reduzido (saida.pdf) ficou  com 238 kb de tamanho com exatamente o mesmo conteúdo nas mesmas posições e bem mais leve ao abrir o mesmo.
Noutro teste um arquivo de 9 mb ficou com 1.8 mb de tamanho.
A redução pode variar muito ficando de 3,5 a 9 vezes menor do que o original, o que vai varia muito na redução são imagens, layout, objetos, tabelas no arquivo pdf e outros elementos do arquivo original de entrada.

Notas:
O script reduzpdf não funciona com arquivos que tenha espaço em branco no nome mesmo que seja colocado entre aspas duplas, devendo ser nome único e sem espaço em brancos, tanto no arquivo de entrada quanto no arquivo de saída.
Você pode usar os caracteres - ou _ para unir os espaços em branco ao renomear o arquivo para uma identificação melhor do mesmo, nos arquivos de  entrada e saída. Caracteres acentuados são válidos.

Para facilitar a eliminação de espaços no nome do arquivo utilize o meu script semespaco que ser encontra no artigo Eliminando o espaço em branco em nomes de arquivos neste blog. 

Exemplo de uso:
Nome original canções de amor.pdf

Usando o script semespaco:
$ semespaco "canções de amor.pdf" 

Resultado: canções_de_amor.pdf

Reduzindo o tamanho do arquivo pdf:
$ reduzpdf canções_de_amor.pdf canções_de_amor2.pdf

Você tem que digitar um novo nome para o arquivo de saída, ou para utilizar o mesmo nome que seja parecido com o do  arquivo de entrada, digite as primeiras letras do arquivo de entrada e depois use a tecla TAB para completar o nome todo e antes da extensão pdf digite 2. Após feita a redução der uma rápida conferida no arquivo reduzido para ver se não houve problemas ou perda de conteúdo na redução, podendo então excluir o arquivo pdf original se tudo deu certo.