+ Responder ao Tópico



  1. #1

    Exclamation Backup em DVD (21 GB)

    Olá pesssoal, estou trabalhando com um servidor Samba PDC, me pediram para fazer um backup em DVD dos usuários inativos para que fossem exluídosmeu único problema foi um usuário(por acaso o antigo diretor da empresa) que abusava do espaço em disco do servidor, ocupando assim 21 GB aproximadamente, esse usuário seria excluído, depois do backup feito em DVD, meu problema foi o seguinte:
    a maioria dos subdiretórios tem mais de 4 GB, que parece ser o tamanho máximo que o dvd-rw-tools aceita para gravar, bom, depois de muito pesquisar algo que me ajudasse, sem muito sucesso.
    Pensei em desenvolver um script para varrer os arquivos, até certo tamanho, identificar todos varridos, mandar tar em todos varridos e mandar gravar em DVD, porém, ficou muito complexo para que fosse possível ser feito.
    Provávelmente alguém já deve ter tido o mesmo problema, gostaria que se souberem de alguma literatura prática que vá ajudar, postem aqui.
    Outra solução é alguém já ter o tal script, eu cheguei até a achar um, mas era para CD, e um tanto complexo para que pudesse rodar bem depois de adaptações.
    Podemos pegar esse script e alterá-lo juntos, talvez na wiki fosse o melhor lugar.
    Seria interessante prosseguir com esse "projeto" pois é fato que vai ajudar muita gente na comunidade, até a próxima pessoal, falou.

  2. #2

    Padrão

    Se você tem espaço em disco suficiente pode targezear (neologismo horrível, eu sei...) o diretório do usuário, dividir em volumes de 4 gb e grava-los.
    Código :
    tar -zc $arch  |split -d -b 3999m - $arch.tar.gz

    Depois é só gerar o iso e gravar. Essa etapa tb pode ser colocada direto no pipe acima

  3. #3

    Padrão Diretório puro?

    Evandro, obrigado desde já, testei o que postou e funcionou muito bem, estava pensando, se é tão fácil fazer com um arquivo tar, será que tem como fazer um Split do diretório puro, sem usar o tar?(eu gostaria de fazer um backup dos arquivos puros, sem compactar se possível, se só houver esse jeito, que seja, está ótimo, mas se for tão fácil assim fazer um split do diretório inteiro vale a pena, mas ainda não consegui, se puder me adiantar agradeço, valeu!

  4. #4

    Padrão

    cara...

    entendi que você quer fazer backup, mas não entendi direito uma coisa, quer arquivos específicos de dentro de cada diretório ou o diretório inteiro do usuário?

    sobre dividir o diretório sem empacotá-lo a coisa fica mais complicada... ou nem tanto... acredito que tenhamos a mesma idéia... precisaria de um programa que lesse o conteúdo do diretório inteiro, e cada arquivo seja copiado para um diretório, e seu tamanho logado numa variável, após esta variável ter tamanho X um novo diretório é criado e os próximos arquivos são copiados para este, e assim sucessivamente...

    quando você tem problemas deste tipo, usuários abusarem na quantidade de arquivos em seus diretórios, coloque quota para cada usuário...

    você não quer empacotar o diretório e depois dividí-lo para poder, se precisar, acessar os arquivos deste usuário sem a necessidade de ter que juntar todas as partes para isso??? realmente, se você pegar um diretório com 20GB, empacotar, dividir, gravar em dvd, e depois precisar de apenas um arquivo, o trabalho será grande... pois você precisará ajuntar todas as partes no HD para poder extrair este único arquivo...

    mas a idéia do script para fazer o split do diretório é interessante...

    o que você pode fazer também é compactar arquivo por arquivo do diretório, com um script.. mas se a maioria dos arquivos forem multimidia a compactação não terá muito efeito...

    bom.. existem várias idéias de como fazer isso, vamos amadurecer os pensamentos e chegar a um resultado viável..

    valeu

  5. #5

    Padrão

    A idéia é um script que funcionaria como um programa mesmo, pois, ainda não sei se é possível, mas é o seguinte(mais especificamente):

    1- usar o comando "du" para obter o nome e tamanho dos arquivos logando >> em um arquivo qualquer(temp),o detalhe é que teria que ser feita uma rotina por arquivo, pelo seguinte detalhe:
    rotina descrita abaixo:

    1- grava informações do arquivo no temp
    2 - soma o tamanho do arquivo com os anteriores (se houverem)
    3 - compara o resultado com o tamanho estipulado no arquivo conf
    4 - se menor prossegue para o próximo arquivo, senão, pára.

    sobre a condição acima, {1}=sim {2}=não

    {1}
    Repete a rotina no próximo arquivo

    {2}
    cria um diretório do tipo "diretorio_original001" e grava num segundo temp esse valor (001) (esse segundo temp deverá ser lido antes de executar essa rotina, para se houver algum valor já registrado, ser incrementado, sobreescrito, e aplicado o novo valor) e continua do próximo arquivo de onde parou.

    é óbvio que nosso amigo evandro me ajudou com a solução que vou aplicar, com certeza, mas esse script é uma idéia de projeto, pois ainda não vi nenhuma aplicação para Linux que fizesse esse Split de arquivos sem compactar, transformar tudo numa coisa só, tem gente que é preguiçosa( não quer descompactar) ou tem medo da compactação dar erro, seria uma contribuição importante para a comunidade se bem divulgado, e tomássemos um tempo com isso, para desenvolver, e distribuir, espero ter esclarescido a idéia, caso haja interesse de tocar o projeto, precisamos de um nome, para criar o artigo na wiki, e principalmente, desenvolvedores que entendam algo a mais de shell script que eu, pois se eu soubesse o suficiente já teria aprontado isso e divulgado para vocês aqui, mas vou estudar para contribuir com o que puder e ajudar a tocar isso, valeu.

  6. #6

    Padrão

    o problema deste tipo de situação é que se derrepente o valor limite for 4gb e há um subdiretório com mais de 4gb, a coisa já complica.. ae pode acontecer de dentro de um subdiretório há mais subdirs com 5gb cada...

    o que você pode fazer é em vez de usar o tar, usar zip ou rar, assim você especifica o tamanho do volume...

    desta forma quando precisar de um determinado arquivo, é só mandar extraí-lo, se estiver no disco 2, por exemplo, ele irá pedir o disco 2...

  7. #7

    Padrão Compactação

    é, aí já estou querendo reinventar a roda XD, farei com o tar mesmo, ele me atende perfeitamente, valeu a ajuda aí pessoal!