sexta-feira, 18 de janeiro de 2013

Compactando - Descompactando - .TAR - .TAR.GZ - .TZ


# tar -czvf etc_conf_files_bk.tar.gz-`date +%d-%m-%y-%a-%h`.tar /etc/


Backup de todos as pastas que estao em "/var/www/" menos a pasta "/squid-reports/"

# tar --exclude 'squid-reports' -czvf www_files_bk.tar.gz-`date +%d-%m-%y-%a-%h`.tar /var/www/


# tar -czvf scripts_sh_bk.tar.gz-`date +%d-%m-%y-%a-%h`.tar *.sh

_____________________________________________________________________


Exemplos de Backups dos diretórios: 
 /etc + /home + /chroot + /var/www

===[ BACKUP DIÁRIO ]===     

Origem:  /etc /home /chroot /var/www
Destino:  backup/diario

# cat > bk.diario  

#!/bin/bash
# Backup Diario --- by Jurandir - Timbo - SC – Brasil – ( arquivo.tar.gz )

data=`date +%Y-%m-%d_%Hh%Mmin`
origem="/etc /home /chroot /var/www"
destino="backup/diario"
arq_backup="backup.diario"
find $origem -mtime -1 -type f -print | tar -czvf $destino/$arq_backup-$data.tar.gz -T -
clear
echo ""
echo ""
echo "===[ Backup Diario ]==="
echo ""
echo ""
du -sh $destino/$arq_backup-$data.tar.gz
echo ""
echo ""
echo "===[ Fim do backup = Success! ]==="
echo ""
echo ""

ctrl + d ( para salvar e sair do arquivo )



Torná-lo executável:   # chmod 777 

Executar o script:        # sh bk.diario               



Resultado:

===[ Backup Diario - .tar.gz ]===

28K     backup/diario/backup.diario-2011-01-05_00h06min.tar.gz

===[ Fim do backup = Success! ]===




Descompactando arquivo:

# tar -xzvf backup.diario-2011-01-05_00h06min.tar.gz


Procurando arquivos dentro do pacote

# find / -iname backup.diario-2011-01-05_00h10min.tar.gz -exec tar t -f '{}' \; | grep html

var/www/webalizer/index.html
var/www/webalizer/usage_201012.html
var/www/webalizer/usage_201101.html

_____________________________________________________________________


===[ BACKUP  SEMANAL ]===

Origem:  /etc /home /chroot /var/www

Destino:  backup/semanal


# cat > bk.semanal

#!/bin/bash
#
# Backup Semanal --- by Jurandir - Timbo - SC – Brasil - ( arquivo.tar.gz )
data=`date +%Y-%m-%d_%Hh%Mmin`
origem="/etc /home /chroot /var/www"
destino="backup/semanal"
arq_backup="backup.semanal"
find $origem -mtime -7 -type f -print | tar -czvf $destino/$arq_backup-$data.tar.gz -T -
clear
echo ""
echo ""
echo "===[ Backup Semanal - .tar.gz ]==="
echo ""
echo ""
du -sh $destino/$arq_backup-$data.tar.gz
echo ""
echo ""
echo "===[ Fim do backup = Success! ]==="
echo ""
echo ""

ctrl + d ( para salvar e sair do arquivo )



Torná-lo executável:   # chmod 777 

Executar o script:        # sh bk.semanal               



Resultado:

===[ Backup Semanal - .tar.gz ]===

45M     backup/semanal/backup.semanal-2011-01-05_00h18min.tar.gz

===[ Fim do backup = Success! ]===



_____________________________________________________________________


Descompactando arquivo

# tar -xzvf backup.semanal-2011-01-05_00h18min.tar.gz


Contando quantos arquivos há dentro do arquivo

# tar -tf backup/diario/backup.diario-2011-01-05_00h10min.tar.gz | wc -l
419
_____________________________________________________________________




===[ BACKUP  MENSAL ]===

Origem:  /etc /home /chroot /var/www

Destino:  backup/mensal



# cat > bk.mensal

#!/bin/bash
#
# Backup Mensal --- by Jurandir - Timbo - SC – Brasil - ( arquivo.tar.gz )
data=`date +%Y-%m-%d_%Hh%Mmin`
origem="/etc /home /chroot /var/www"
destino="backup/mensal"
arq_backup="backup.mensal"
find $origem -mtime -31 -type f -print | tar -czvf $destino/$arq_backup-$data.tar.gz -T -
clear
echo ""
echo ""
echo "===[ Backup Mensal - .tar.gz ]==="
echo ""
echo ""
du -sh $destino/$arq_backup-$data.tar.gz
echo ""
echo ""
echo "===[ Fim do backup = Success! ]==="
echo ""
echo ""

ctrl + d ( para salvar e sair do arquivo )



Torná-lo executável:   # chmod 777 

Executar o script:        # sh bk.mensal               



Resultado:

===[ Backup Mensal - .tar.gz ]===

65M     backup/mensal/backup.mensal-2011-01-05_00h24min.tar.gz

===[ Fim do backup = Success! ]===



_____________________________________________________________________



Desempacotando arquivo:


# tar -xzvf backup.mensal-2011-01-04_20h48min.tgz



Verificando tamanho da: diretório e arquivo compactado

# du -sh backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz /home/
65M     backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz
66M     /home/

# du -sh backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz /home/aluno1
65M     backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz

# du -sh backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz 

65M     backup/mensal/backup.mensal-2011-01-05_00h26min.tar.gz

# ls backup/ -l

total 16
drwxr-xr-x 2 root root 4096 2011-01-04 20:15 diario
drwxr-xr-x 2 root root 4096 2011-01-04 20:48 mensal
drwxr-xr-x 2 root root 4096 2011-01-04 20:36 semanal




_____________________________________________________________________




Extraindo apenas um arquivo  do “.tar.gz” 

# cd backup/diario/

# tar -xzvf backup.diario-2011-01-05_00h10min.tar.gz 
home/jeff/share.sh
home/jeff/share.sh

Listando todos os arquivos que estão dentro do pacote.

# tar -tvf backup/diario/backup.diario-2011-01-05_00h10min.tar.gz

-rw-r-----   root/shadow  1716  2011-01-04 09:16 etc/shadow
-rw-r--r--   root/root        944   2011-01-04 09:15 etc/group
-rw-------  root/root       1935  2011-01-04 09:15 etc/passwd-
-rw-r-----  root/shadow    755   2011-01-04 09:15 etc/gshadow
-rw-r--r--  root/root       1938   2011-01-04 09:16 etc/passwd
-rw-r--r--  jeff/jeff           220  2011-01-04 09:15 home/jeff/.bash_logout
-rwxr-xr-x  jeff/jeff            99  2011-01-04 09:15 home/jeff/share.sh
-rw-r--r--  jeff/jeff           675  2011-01-04 09:15 home/jeff/.profile

ou

# tar -ztvf backup/diario/backup.diario-2011-01-05_00h10min.tar.gz



_____________________________________________________________________


Compactando arquivos alterados em 1 dia 

Compactara somente arquivos alterados das pastas etc e home na faixa de 1 dia e suas respectivas pastas e anexando data do backup no nome do arquivo.

# find bk1/ bk2/ -mtime -1 -type f -print | tar zcvf backup-`date +%Y-%m-%d_%Hh%Mmin`.tar.gz -T -



_____________________________________________________________________


Compactando dois diretórios que foram alterados em uma semana

Gerou o arquivo de nome: backup-2011-01-05_00h55min.tar.gz

# find bk1/ bk2/ -mtime -7 -type f -print | tar zcvf backup-`date +%Y-%m-%d_%Hh%Mmin`.tar.gz -T -

bk1/arq1
bk1/sub/arq_sub
bk1/arq2


_____________________________________________________________________

Compactando - tar 

# tar -cvf arquivo.tar arquivo


_____________________________________________________________________

Descompactando - tar 

# tar -xvf arquivo.tar


_____________________________________________________________________


zip e tar  

# tar -czvf arquivo.tar.gz arquivo


_____________________________________________________________________


Compactando e descompactando – .gz - .tar.bz2 - .tgz

# tar -xzvf arquivo.tar.gz

# tar -xvzf arquivo.tar.gz -C diretório_destino

# tar -jxvf arquivo.tar.bz2

# tar -xvjf arquivo.tar.bz2 -C diretório_destino

# tar -xzvpf arquivo.tgz


_____________________________________________________________________

Visualizando conteúdo dos arquivos tar , sem extraí-los.

# tar –tvf arquivo.tar

# tar -tzvf arquivo.tar.gz


_____________________________________________________________________


Definindo senha no arquivo “.tar”

O comando “gpg –c “ solicitará uma senha e criará um outro arquivo com a extenção “.gpg”

# ls -l
-rw-r--r-- 1 root root 21565440      2011-01-03 22:49 backup_pastas_var_www_03-01-2011-Mon.tar
drwxr-xr-x 8 root root     4096 2011-01-03 22:49 home.server.setup.files

# gpg -c backup_pastas_var_www_03-01-2011-Mon.tar

# ls -l

-rw-r--r-- 1 root root 21565440 2011-01-03 22:49 backup_pastas_var_www_03-01-2011-Mon.tar
-rw-r--r-- 1 root root 12833685 2011-01-03 23:23 backup_pastas_var_www_03-01-2011-Mon.tar.gpg
drwxr-xr-x 8 root root     4096  2011-01-03 22:49 home.server.setup.files


_____________________________________________________________________

Acessando arquivo “.tar” com senha 

# gpg backup_pastas_var_www_03-01-2011-Mon.tar.gpg
gpg: CAST5 encrypted data
Enter passphrase: 123


_____________________________________________________________________

Procurando arquivos dentro de “.tar.gz”

# find . -type f \( -name "*.gz" -o -name "*.tar" -o -name "*.zip" \) -exec ls -l {} \;

-rw-r--r-- 1 root root 506541 2006-08-11 08:46 ./downloads/roundcubemail-0.1beta2.tar.gz
-rw-r--r-- 1 root root 203164 2010-09-29 01:56 ./downloads/hydra-5.8-src.tar.gz
-rw-r--r-- 1 root root 703082 2009-12-01 11:42 ./downloads/sarg-2.2.6.tar.gz
-rw-r--r-- 1 ewb1 ewb1 1578191 2010-12-30 15:28 ./downloads/postfixadmin-2.3.2.tar.gz
-rw-r--r-- 1 ewb1 ewb1 2243239 2010-12-30 15:28 ./downloads/roundcubemail-0.5-rc.tar.gz
-rw-r--r-- 1 root root 7031548 2010-11-20 17:06 ./downloads/bind-9.7.0rc1.tar.gz
-rw-r--r-- 1 ftp1 named 16304 2002-02-26 05:16 ./downloads/mrtg-2.17.0/contrib/nt-


_____________________________________________________________________

Compactando de descompactando diretórios e arquivos ( .gz )


# gzip -r bk1/ bk2/            ( se houver sub-pastas também compactará )

# ls bk1/
arq1.gz  arq2.gz  sub          ( sub é uma sub-pasta )

# ls bk1/sub/
arq_sub.gz

# ls bk2/
arquivo_1.gz  arquivo_2.gz  arquivo_3.gz


_____________________________________________________________________


Descompactando

# gunzip -r bk1/ bk2/

# ls bk1/
arq1  arq2  sub

# ls bk2/
arquivo_1  arquivo_2  arquivo_3


# du -sch
211K .
211K total


_____________________________________________________________________


Compactando todos os arquivos de um diretorio.

c = create
v = verbose
z = compress with GZIP
f = archive name


# tar -cvzf backup.tgz directory

# tar -cvzf arquivos.tar.gz *


_____________________________________________________________________

Compare o tamanho do arquivo acima. Agora, veja abaixo o tamanho do arquivo, bem reduzido.

# du -sch arquivos.tar.gz
63K arquivos.tar.gz
63K total


_____________________________________________________________________

Descompactando

# tar -xvzf arquivos.tar.gz directory

# tar -xvzf arquivos.tar.gz
acesso_liberado
acesso_negado
acesso_restrito
acesso_total
bloqueado
bloqueado.save
download
errorpage.css
msntauth.conf
sites_liberados
squid.conf


_____________________________________________________________________

Observe o tamanho dos arquivos - tamanho normal e compactados.

# ls -l

total 273

-rw-r--r-- 1 root root    195 Oct 26 07:57 acesso_liberado
-rw-r--r-- 1 root root     60 Oct 26 07:57 acesso_negado
-rw-r--r-- 1 root root    257 Oct 26 07:57 acesso_restrito
-rw-r--r-- 1 root root    243 Oct 26 07:57 acesso_total
-rw-r--r-- 1 root root  62760 Oct 26 08:55 arquivos.tar.gz
-rw-r--r-- 1 root root    168 Oct 26 07:57 bloqueado
-rw-r--r-- 1 root root    147 Oct 26 07:57 bloqueado.save
-rw-r--r-- 1 root root    129 Oct 26 07:57 download
-rw-r--r-- 1 root root   1547 Oct 26 07:57 errorpage.css
-rw-r--r-- 1 root root    421 Oct 26 07:57 msntauth.conf
-rw-r--r-- 1 root root     45 Oct 26 07:57 sites_liberados
-rw-r--r-- 1 root root   2783 Oct 26 07:57 squid.conf
-rw-r--r-- 1 root root 198764 Oct 26 07:57 squid.conf-bk1


# gzip -r eu/

# ls
eu  x

# cd eu

# ls -l
total 72
-rw-r--r-- 1 root root   135 Oct 26 07:57 acesso_liberado.gz
-rw-r--r-- 1 root root    75 Oct 26 07:57 acesso_negado.gz
-rw-r--r-- 1 root root   165 Oct 26 07:57 acesso_restrito.gz
-rw-r--r-- 1 root root   164 Oct 26 07:57 acesso_total.gz
-rw-r--r-- 1 root root   109 Oct 26 07:57 bloqueado.gz
-rw-r--r-- 1 root root   104 Oct 26 07:57 bloqueado.save.gz
-rw-r--r-- 1 root root    81 Oct 26 07:57 download.gz
-rw-r--r-- 1 root root   759 Oct 26 07:57 errorpage.css.gz
-rw-r--r-- 1 root root   293 Oct 26 07:57 msntauth.conf.gz
-rw-r--r-- 1 root root    67 Oct 26 07:57 sites_liberados.gz
-rw-r--r-- 1 root root 60651 Oct 26 07:57 squid.conf-bk1.gz
-rw-r--r-- 1 root root   857 Oct 26 07:57 squid.conf.gz


# gunzip -r eu/

# ls eu/ -l
total 210
-rw-r--r-- 1 root root    195 Oct 26 07:57 acesso_liberado
-rw-r--r-- 1 root root     60 Oct 26 07:57 acesso_negado
-rw-r--r-- 1 root root    257 Oct 26 07:57 acesso_restrito
-rw-r--r-- 1 root root    243 Oct 26 07:57 acesso_total
-rw-r--r-- 1 root root    168 Oct 26 07:57 bloqueado
-rw-r--r-- 1 root root    147 Oct 26 07:57 bloqueado.save
-rw-r--r-- 1 root root    129 Oct 26 07:57 download
-rw-r--r-- 1 root root   1547 Oct 26 07:57 errorpage.css
-rw-r--r-- 1 root root    421 Oct 26 07:57 msntauth.conf
-rw-r--r-- 1 root root     45 Oct 26 07:57 sites_liberados
-rw-r--r-- 1 root root   2783 Oct 26 07:57 squid.conf
-rw-r--r-- 1 root root 198764 Oct 26 07:57 squid.conf-bk1


Temos alguns arquivos dentro de um diretório.

# ls -l
total 210
-rw-r--r-- 1 root root    195 Oct 26 07:57 acesso_liberado
-rw-r--r-- 1 root root     60 Oct 26 07:57 acesso_negado
-rw-r--r-- 1 root root    257 Oct 26 07:57 acesso_restrito
-rw-r--r-- 1 root root    243 Oct 26 07:57 acesso_total
-rw-r--r-- 1 root root    168 Oct 26 07:57 bloqueado
-rw-r--r-- 1 root root    147 Oct 26 07:57 bloqueado.save
-rw-r--r-- 1 root root    129 Oct 26 07:57 download
-rw-r--r-- 1 root root   1547 Oct 26 07:57 errorpage.css
-rw-r--r-- 1 root root    421 Oct 26 07:57 msntauth.conf
-rw-r--r-- 1 root root     45 Oct 26 07:57 sites_liberados
-rw-r--r-- 1 root root   2783 Oct 26 07:57 squid.conf
-rw-r--r-- 1 root root 198764 Oct 26 07:57 squid.conf-bk1

Vamos empacotar todos os arquivos dentro deste diretorio que sera armazenado no arquivo ( pacote ) todos.tar  . Veja o ultimo arquivo abaixo.

# tar -cf todos.tar *

# ls -l
total 431
-rw-r--r-- 1 root root    195 Oct 26 07:57 acesso_liberado
-rw-r--r-- 1 root root     60 Oct 26 07:57 acesso_negado
-rw-r--r-- 1 root root    257 Oct 26 07:57 acesso_restrito
-rw-r--r-- 1 root root    243 Oct 26 07:57 acesso_total
-rw-r--r-- 1 root root    168 Oct 26 07:57 bloqueado
-rw-r--r-- 1 root root    147 Oct 26 07:57 bloqueado.save
-rw-r--r-- 1 root root    129 Oct 26 07:57 download
-rw-r--r-- 1 root root   1547 Oct 26 07:57 errorpage.css
-rw-r--r-- 1 root root    421 Oct 26 07:57 msntauth.conf
-rw-r--r-- 1 root root     45 Oct 26 07:57 sites_liberados
-rw-r--r-- 1 root root   2783 Oct 26 07:57 squid.conf
-rw-r--r-- 1 root root 198764 Oct 26 07:57 squid.conf-bk1
-rw-r--r-- 1 root root 225280 Oct 26 08:24 todos.tar

Varmos criar um diretorio chamado "voce" para copiar o arquivo "todos.tar"

# mdkdir voce

# cd eu   ( "eu" é o diretorio onde o arquivo "todos.tar" se encontra.)

# cp todos.tar /root/voce/

# cd /root/voce


_____________________________________________________________________

Desempacotando todos os arquivos dentro do diretório "voce"

# tar -xf todos.tar

total 431
-rw-r--r-- 1 root root      195 Oct 26 07:57 acesso_liberado
-rw-r--r-- 1 root root        60 Oct 26 07:57 acesso_negado
-rw-r--r-- 1 root root      257 Oct 26 07:57 acesso_restrito
-rw-r--r-- 1 root root      243 Oct 26 07:57 acesso_total
-rw-r--r-- 1 root root      168 Oct 26 07:57 bloqueado
-rw-r--r-- 1 root root      147 Oct 26 07:57 bloqueado.save
-rw-r--r-- 1 root root      129 Oct 26 07:57 download
-rw-r--r-- 1 root root    1547 Oct 26 07:57 errorpage.css
-rw-r--r-- 1 root root      421 Oct 26 07:57 msntauth.conf
-rw-r--r-- 1 root root       45 Oct 26 07:57 sites_liberados
-rw-r--r-- 1 root root   2783 Oct 26 07:57 squid.conf
-rw-r--r-- 1 root root 198764 Oct 26 07:57 squid.conf-bk1
-rw-r--r-- 1 root root 225280 Oct 26 08:30 todos.tar



_____________________________________________________________________



http://cb.vu/unixtoolbox.xhtml


OpenSSL


A single file

Encrypt and decrypt


# openssl aes-128-cbc -salt -in file -out file.aes

# openssl aes-128-cbc -d -salt -in file.aes -out file



_____________________________________________________________________

Note that the file can of course be a tar archive.


tar and encrypt a whole directory

# Encrypt

# tar -cf - directory | openssl aes-128-cbc -salt -out directory.tar.aes      



_____________________________________________________________________


# Decrypt

# openssl aes-128-cbc -d -salt -in directory.tar.aes | tar -x -f -            


_____________________________________________________________________


tar zip and encrypt a whole directory

# Encrypt

# tar -zcf - directory | openssl aes-128-cbc -salt -out directory.tar.gz.aes  


_____________________________________________________________________


# Decrypt

# openssl aes-128-cbc -d -salt -in directory.tar.gz.aes | tar -xz -f -        




------------------------------------------------------------------------------------------------------------------------
===[ Sharing Knowledge ]===   -  Obrigado - Thank you - Danke - Merci - Grazie - Gracias - arigatou gozaimasu
“We make a living by what we get, but we make a life by what we give.”  - Give and you will receive - just share :)
------------------------------------------------------------------------------------------------------------------------


Nenhum comentário:

Postar um comentário