+ Responder ao Tópico



  1. #1
    giuliano
    Olá,
    Tenho um script de backup que roda backup full e incremental...
    Gostaria de saber se é possivel adicionar uma linha nele na qual ele remova os todos os backup antigos de 1 mês atras ???
    Segue o script abaixo

    Código :
    #!/bin/bash
    #Cria os arquivos de backup
    #
    data_ini=`date +%d/%m/%Y-%H:%M`
    #Dados do backup:
    DATA="/home /public"
    CONFIG="/etc /root"
    #Lista de backup's incrementais:
    LIST="/backup/backup_inc_list_$$.txt"
    #
    set $(date)
    #
    if test "$1" = "Sun" ; then
            # Backup full semanal:
            #
            rm -f /backup/dados_full*
            tar cfz "/backup/dados_full_$6-$2-$3.tgz" $DATA
            #
            #
            rm -f /backup/config_full*
            tar cfz "/backup/config_full_$6-$2-$3.tgz" $CONFIG
            #
    else
            # Backup incremental diario :
            #
            find $DATA -depth -type f \( -ctime -1 -o -mtime -1 \) -print > $LIST
            tar cfzT "/backup/dados_inc_$6-$2-$3.tgz" "$LIST"
           # rm -f "$LIST"
            #
            find $CONFIG -depth -type f  \( -ctime -1 -o -mtime -1 \) -print > $LIST
            tar cfzT "/backup/config_inc_$6-$2-$3.tgz" "$LIST"
           # rm -f "$LIST"
    fi
    #

    Aguardo um resposta..
    Giuliano

  2. #2
    Super_Diaulas
    Cara eu tinha um script mais ou menos assim
    mas o backup era separdo por diretórios e eles eram criados de acordo com a data...mas ao contrário começando pelo ano , mes, dia

    mkdir -p `date +%yy/%mm/%dd`

    (não me lembro da sintaxe do date, hehehe).

    e vc pode criar uma variável no inicio para pegar o mês certo que vai ser deletado.
    para descobrir é fácil

    echo `date +%m` - 1 | bc

    ele vai pegar o mes corrente e subtrair 1 resultando no mes passado.

    depois é só dor o rm com resultado do echo.

    rm -rf /backup/`date +%yy`/$MES_PASSADO
    |
    | Resultado do echo

    ou pode usar

    rm -rf /backup/`date +%yy`/`echo `date +%m` - 1 | bc`

    não sei se vai funcionar assim
    Eu não usava a parte de deletar o mes passado, mas a primeira sim
    eu tinha os backups separados por dia.
    o backup do dia de natal ficaria

    /backup/04/12/25/ARQ_DE_BACKUP
    | | |
    | | | |-Dia
    | |---Mes
    |---ano

    Espero que tenha ajudado






Tópicos Similares

  1. Somar em shell script
    Por ricardorocha no fórum Linguagens de Programação
    Respostas: 3
    Último Post: 17-03-2003, 16:49
  2. input de dados no sql server via shell script
    Por cantisan no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 17-02-2003, 16:43
  3. Shell Script + Mail
    Por mistymst no fórum Servidores de Rede
    Respostas: 2
    Último Post: 02-02-2003, 15:44
  4. Shell Script !!! Executar comando automático...
    Por Danielvb no fórum Linguagens de Programação
    Respostas: 11
    Último Post: 29-11-2002, 15:48
  5. Shell Script !!!
    Por Danielvb no fórum Servidores de Rede
    Respostas: 2
    Último Post: 29-11-2002, 09:55

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L