Para realizar um script de backup com a utilização do p7zip ou 7zip, é necessário informar o caminho onde fica o bin do 7zip "/usr/local/bin/7za" pois se utilizar somente o comando "7za" no script, não irá funcionar utilizando o cron para iniciar o script. Portanto para utilizar o p7zip no cron do linux é necessário passar todo o caminho do bin (7za).
Para realizar o backup por de um diretório e compactando somente as subpastas, utilizei o script abaixo.
Para realizar o backup por de um diretório e compactando somente as subpastas, utilizei o script abaixo.
#!/bin/sh # Para melhor visualização do script irei colocar variáveis no script. # Para informar que é uma viável é só colocar um $ antes da variável. # Para exempĺo irei realizar a compactação da pasta /root e irei colocar os arquivos de backup em /BKP. ##### Setando as variáveis # Arquivos de backup. BKP_PASTA=/BKP/ # Temporário para ler as pastas do diretório. TMP=/BKP/txt.tmp # Setando a variável "x" para 1 (Esse onde ele começa a pegar a linha) x=1 # Captura o número de pastas. (no caso no /root/) N_PASTAS=$(ls -d /root/*/ |wc -l) ### Inicio do Script cd /root # Captura as pastas do diretório (no caso o /root) ls -d * > $TMP # Utilizo o while para ele percorrer as linhas da variável TMP para realizar o backup das pastas while [ $x -le $N_PASTAS ]; do # Neste ponto ele lê a linha onde a variável "x" onde está apontado L_TMP=$(cat $TMP | head -n $x | tail -n 1); # Realiza o processo de compactação com o 7za # Como dito, para a utilização do p7zip ou 7za deve-de fazer da forma abaixo # Neste ponto ele faz a compactação e joga para o diretório de Backup definido anteriormente e compacta a pasta onde o "x" está apontando. /usr/local/bin/7za a -sfx -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on tar -jcvf $BKP_PASTA$L_TMP.exe /root/$L_TMP # Incrementa mais 1 no x, fazendo assim pulando para a pŕoxima linha. x=$((x+1)); } done; # Sai do While ##### FIM
3 comentários:
Muito bom valeu pela dica
Será muito útil para mim! :D Valeu!
Postar um comentário