+ Responder ao Tópico



  1. #1

    Padrão Backup - Shell Script / DAT

    Estou com uma duvida!
    Fazia o backup para uma unidade LTO de cerca de 300gb
    mas hoje ja estou chegando nos 500, e o maximo compactado de cada fita é de 400gb

    como posso proceder?

    faço da seguinte maneira atualmente

    tar cv -T /dados/listadedados.txt -f /dev/st0

    mas como vou passar para ele ver que quando chegar nos 400 gb pedir para vir a nova fita?

    Obrigado

  2. #2

    Padrão

    Cara, acho que o próprio tar reparte o arquivo em tamanhos fixos. Infelizmente não tenho como testar mas olhando o man page do tar na internet ahcei essa opção:
    Código :
           -R, --block-number
          show block number within archive with each message
     
           --record-size SIZE
          use SIZE bytes per record
    Fonte: UNIX man pages : tar ()

    Tem também outro que eu ahcei que é o split. Aqui tem uma explicação de como ele funciona mais ou menos: [Dicas-L] Fatiamento de arquivos para transferência em links de baixa qualidade

    Acho que um dos dois deve resolver certo?!
    Qualquer coisa posta ai...



  3. #3

    Padrão

    Mas como posso fazer tipo!

    manda tar gravar 395 gb na fita, deu
    parar
    esperar
    pedir a outra fita...

    lembrando q os arquivos a serem copiados estao num txt
    nao sei por onde comecar
    tipo ele le as linhas e copia arquivo a arquivo, qnd chegar nos 395 ele para e pede a fita
    mas continua no indice


  4. #4

    Padrão

    Cara, faz o seguinte. Cria uma arquivo tar com todos os arquivos do backup. Esse arquivo vai ser o grande, que vai extrapolar o tamanho da fita. Depois, com o comando split, você divide ele em N pedaços de 400.

    Quanto ao tempo, nas linguagens sempre tem um comando wait ou sleep. Em shell script eu não sei. Mas o google ta ai... Mas eu acho que quando você emitir o comando pra gravar na fita o próprio script vai ficar ocioso esperando a gravação terminar...
    Faz um teste ai...

    Agora, pedir outra fita: Emite uma mensagem pedindo pra inserir outra fita e pressionar qualquer tecla pra continuar. Ai usa um comando de input de dados...

    Não conheço muito a sitaxe de shell script... Mas a lógica é essa. Se quiser fazer em python ai posso te ajudar mais, hehe...



  5. #5

    Padrão

    Tambem pensei nisso,
    mas nao posso usar split, nao posso depender de ter as 02 fitas para foltar algum fragmento!

    Vou jogar , arquivo a arquivo pra dentro da fita >
    quando copiar até 395 gb
    pede a outra
    e segue o indice!

    :/

  6. #6

    Padrão

    É uma boa ideia também. O tar tem a funcao de incrementar. Você cria uma novo arquivo com o primeiro e sai adicionando. Antes de cada adição de arquivo você estima o tamanho final. Se o tamanho for maior: Nova fita, se menor: proximo arquivo.

    Realmente, assim é bem mais robusto.



  7. #7

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    É uma boa ideia também. O tar tem a funcao de incrementar. Você cria uma novo arquivo com o primeiro e sai adicionando. Antes de cada adição de arquivo você estima o tamanho final. Se o tamanho for maior: Nova fita, se menor: proximo arquivo.

    Realmente, assim é bem mais robusto.
    Alguma ideia?

  8. #8

    Padrão

    Cara, como te disse não sei muito de shell script, então não sei dizer se tem um comando que retorna o tamanho de um arquivo. Mas o comando "du -ha nome_do_arquivo" mostra o tamanho do arquivo... Se no script você conseguir pegar essa saída e utiliza-la você pode fazer o seguinte:

    Adiciona o arquivo da lista e testa o tamanho. Se o tamanho for maior que o permitido remove esse último arquivo adicionado. Se o tamanho for menor que o permitido adiciona novo arquivo e repete o processo.

    Pra adicionar e remover arquivos no tar tem a opção append e remove se não me engano...