Bash Script para backup faz backup

1

Eu tenho o seguinte script bash que cria um tar.gz do meu sistema de arquivos em um PC do Kubuntu. O problema é que ele também tenta fazer backup do arquivo de backup tar.gz, mesmo que eu esteja armazenando o backup em / tmp e omitindo / tmp do backup. Eu estou querendo saber por que ele está fazendo o backup do arquivo em / tmp mesmo que eu tenha dito para não fazer isso.

#!/bin/bash
# init

DATE=$(date +20%y%m%d)

sudo tar -cvpzf /tmp/'hostname'_$DATE.tar.gz \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/mnt \
--exclude=/media \
--exclude=/dev \
--exclude=/tmp \
--exclude=/home/jlacroix/Desktop \
--exclude=/home/jlacroix/Documents \
--exclude=/home/jlacroix/Music \
--exclude=/home/jlacroix/Pictures \
--exclude=/home/jlacroix/Projects \
--exclude=/home/jlacroix/Roms \
--exclude=/home/jlacroix/Videos \
--exclude=/home/jlacroix/.VirtualBox\ VMs \
--exclude=/home/jlacroix/.SpiderOak \
/

scp /tmp/'hostname'_$DATE.tar.gz jlacroix@Pluto:/share/Recovery/Snapshots

sudo rm /tmp/'hostname'_$DATE.tar.gz
    
por Jay LaCroix 23.11.2012 / 16:17

1 resposta

1

Você precisa adicionar "*" atrás dos caminhos excluídos. Como isso funciona, o algoritmo exclui o padrão, não o diretório.

Então o padrão / home / jlacroix / Music! = /home/jlacroix/Music/*

Dê um tiro, funciona para mim aqui.

Editar :

Isso ainda faz o backup do nome do diretório, no entanto. Então você realmente precisa que pareça assim:

--exclude=/home/[username]/Music/* --exclude=/home/[username]/Music \

Isso seria verdadeiro para o restante dos itens.

    
por 23.11.2012 / 17:26