Linux - Crie backups de vários diretórios em massa

0

Eu estou querendo saber se é possível criar backups de múltiplos diretórios com um comando no Linux. Sites especificamente diferentes hospedados em um VPS.

Digamos, por exemplo, que eu tenha quatro sites no / var / www:

/var/www/site01
/var/www/site02
/var/www/site03
/var/www/site04

Eu quero usar tar para compactar cada um desses diretórios. É possível usar um único comando para compactar todos os subdiretórios em / var / www para o seu próprio arquivo separado?

site01.tar, site02.tar, site03.tar, site04.tar

    
por Edward144 14.03.2017 / 13:40

2 respostas

3

Como faço para tar de vários diretórios?

Automatize!

Como mencionado por @Seth nos comentários, um script é o caminho a seguir se seu objetivo é reduzir a digitação desnecessária.

#!/bin/bash
# backup_dirs_to_tars.sh - back up directories in $backupdir to 
# individual tars in $outputdir
# NB ignores .hidden (dotted) directories

backupdir=/var/www/
outputdir=/home/example/backups

cd $backupdir

for dir in */; do
        tar -cf "$outputdir/$(basename $dir).tar" "$dir"
done

Explicação:

  • mude para $backupdir
  • for dir in */ percorre os diretórios em $backupdir (devido ao trailing / )
  • crie tar archive de cada diretório (nomeado após o diretório via basename ) no $outputdir especificado

Se preferir, você pode criar gzip ped arquivos alterando a linha de criação para tar -czf "$outputdir/$(basename $dir).tar.gz" "$dir" .

Pensamento mais amplo sobre backups (recursos adicionais)

Eu não sei o que você está tentando alcançar com o seu regime de backup, mas vale a pena estar ciente de rdiff-backup (usa rsync e incrementos) e rsnapshot (usa links físicos para economizar espaço em arquivos que não mudam) ; ambos são simples de usar e fornecem 'versões mais antigas' de arquivos, dependendo de como você os usa.

Também vale lembrar o mantra: 'um backup não testado não é backup' . Certifique-se de que você pode restaurar a partir de um backup! Tanto rdiff-backup como rsnapshot fornecem um conjunto de trabalho que pode ser procurado imediatamente, o que é útil para verificar se um backup realmente funciona.

    
por 18.03.2017 / 12:29
0

Estou usando uma estratégia semelhante para fazer backup dos meus servidores Linux no trabalho para uma pasta compartilhada do Windows. Basicamente eu faço backup do conteúdo em www, / etc / apache2 e nos bancos de dados MySQL. Eu configurei um cron job para fazer isso automaticamente, ele está funcionando sozinho há anos. Aqui está como eu fiz isso link

    
por 18.03.2017 / 13:19