+ Responder ao Tópico



  1. Ae galera, to precisando compactar usando o tar, mas quero compactar somente arquivo com um determinada data....

    vi a opcao -N no tar, mas nao consegui utiliza-la...alguem tem ideia de como posso fazer isso ?

    obrigado

  2. Vc quer criar um pacote com arquivos que foram criados ou modificados em uma determinada data? ou criar um pacote e o nome do pacotem contém um data?

    Criei este script, vê se pode te ajudar.
    coloquei um echo " " a mais, pois não sei porque o \n não tava criando um nova linha. :|

    #!/bin/bash

    dir_bkp=/var/genome/bioinformatica #diretorio que será compactado
    diretorio=/backup #diretorio onde será guardado o pacote tar

    dia=`date | cut -f3 -d" "` #pega o dia
    mes=`date | cut -f2 -d" "` #pega o m6es
    ano=`date | cut -f6 -d" "` #pega o ano
    hora_inicial=`date | cut -f4 -d" "` #pega a hora inicial

    ls $dir_bkp > lista.txt #todos os aqruvos e diretórios são colocados numa lista

    lista=`cat lista.txt` #um vetor com os elementos da lista.txt

    mkdir $diretorio/$dia$mes$ano #cria diretorio e seu nome é a data atual

    echo "Hora inicial: $hora_inicial"
    echo "Data inicial: $dia-$mes-$ano as $hora_inicial" >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    echo " " >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log

    for i in $lista
    do
    if [ -d $dir_bkp/$i ] #testa se é um diretorio ou arquivo
    then
    echo "Iniciando o backup do diretorio $dir_bkp/$i" >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    else
    echo "Iniciando o backup do arquivo $dir_bkp/$i" >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    fi

    if [ "$i" = "comum" ] #estou excluindo o diretorio comum do backup pois não me interessa
    then
    echo "Diretorio $dir_bkp/$i nao sera compactado!" >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    echo " " >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    continue
    else
    tar -cjvf $diretorio/$dia$mes$ano/bkp-$i-$dia-$mes-$ano.tar.bz2 $dir_bkp/$i >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    echo " " >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    fi
    done

    echo " " >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log

    hora_final=`date | cut -f4 -d" "`
    echo "Hora final: $hora_final" >> $diretorio/$dia$mes$ano/backup-$dia-$mes-$ano.log
    echo "Hora final: $dia-$mes-$ano as $hora_final"

    rm lista.txt
    Nesse caso eu nõa fiz um pacotão do diretorio, eu pega cada elemento do diretorio, e compacto separadamente, se eu fizer um só arquivo se este corromper eu perco tudo o que foi comapctado.

    Espero ter ajudado !!
    Ab, Duca. :-)



  3. opa amigo, de muita valia seu script...
    eu ja havia preparado um dessa maneira, mas o q eu preciso é fazer um pacote com arquivos de datas especificados, modificados ou criados naquela data, e nao colocar uma data no arquivo....hehehe

    tipo, tenho um diretorio com um 1000 arquivos, mas so quero compactar arquivos desses diretorio que foram modificados em uma determinada data...

    Abracos

  4. Humm...agora fiquei na curiosidade tb, vou dar uma procurada nisso. :-)

    Ab, Duca



  5. pode usar as cariaveis do comando date


    date +%k:%M:%S' '%d/%m/%Y


    %k = hora (1..23)
    %M = minutos
    %S = segundos
    %d = dia
    %m = mes
    %Y = ano (4 digitos)







Tópicos Similares

  1. Respostas: 5
    Último Post: 07-07-2010, 00:05
  2. Como renomear o arquivo com a data corrente?
    Por dlabreu no fórum Linguagens de Programação
    Respostas: 3
    Último Post: 06-06-2008, 15:18
  3. Compactar em vários arquivos com tamanho específico
    Por koringa no fórum Servidores de Rede
    Respostas: 2
    Último Post: 25-03-2006, 02:34
  4. Move arquivos pela data
    Por Itise no fórum Servidores de Rede
    Respostas: 5
    Último Post: 22-03-2003, 08:08
  5. Upload de arquivo com PHP
    Por Fly no fórum Linguagens de Programação
    Respostas: 8
    Último Post: 13-12-2002, 16:18

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L