Onde “--exclui” o script específico do diretório no meu backup usando tar

1

Eu quero fazer backup de todo o meu servidor linux, mas onde eu --exclude = proc --exclude = sys --exclude = dev / pts --exclude = / var / backups. Por favor ajude !!!

Aqui está o meu código. Eu também posso ter alguns erros nele. O feedback é bem-vindo .....

#!bin/bash
#Purpose = Backup of var directory

TIME='date +"%b-%d-%y"'  # This Command will add date in Backup File Name.
FILENAME="backup-$TIME.tar.gz"  # Here i define Backup file name format.
SRCDIR="/ "    # Location of Important Data Directory (Source of backup).
DESDIR="/var/backups/fullbackup"    # Destination of backup file.
LOGSYS="/var/log/fullbackup"   #Log files of the backup.

echo "Starting backup of $SRCDIR to $DESDIR on $TIME" >> ${LOGSYS}
tar -cpzf $DESDIR/$FILENAME $SRCDIR
echo "Ending backup of $SRCDIR on $TIME" >> ${LOGSYS}

#END
    
por user3652178 14.08.2014 / 13:41

2 respostas

2

Você lista todos os diretórios a serem excluídos em um arquivo de texto, assim:

/var/backups
/proc
/sys
/dev
/tmp

Vamos chamar esse arquivo /etc/backup-excl.lst

Depois, você pode chamar o comando tar da seguinte maneira:

tar ScpfzX /etc/backup-excl.lst $DESTDIR/$FILENAME $SRCDIR

O flas do parâmetro X é para informar que um arquivo com diretórios a serem excluídos seguirá.

O parâmetro S é usado para lidar com arquivos esparsos do Linux de maneira inteligente. Arquivos esparsos são arquivos que contêm espaço vazio, onde o espaço em disco é pré-alocado, mas não necessariamente usado. O manuseio inteligente desses arquivos significa apenas fazer backup do conteúdo real, não do espaço vazio.

    
por Benoit 14.08.2014 / 13:55
0

Para adicionar a opção de exclusão, basta anexá-la após:

tar -cpzf $DESDIR/$FILENAME $SRCDIR --exclude=proc --exclude=sys --exclude=dev/pts --exclude=/var/backups

A melhor maneira é adicionar variáveis com opções de exclusão, como:

EXCLUDE="--exclude=proc --exclude=sys --exclude=dev/pts --exclude=/var/backups"

Depois disso, seu comando tar deve se parecer com:

tar -cpzf $DESDIR/$FILENAME $SRCDIR $EXCLUDE
    
por Alex Kondratiev 14.08.2014 / 13:53