encontra mudanças no script de diretório

3

Eu estou tentando escrever um script para encontrar todas as alterações (modificar, criar, excluir) em uma lista de diretórios para as últimas 24h, como segue:

#!/bin/bash

LOGDIR=change_log
FILETYPE=*.php
DIR=www
OUTPUT=$LOGDIR/$(date +%Y-%m-%d).log


function start_check {
    for i in 'find . -name $DIR -type d';do
        used=0
        for j in 'find $i -name "${FILETYPE}"';do           
            case 'find $j -mtime -1' in
                '');;
                *)  
                    if [ "$used" = "0" ];then
                        current_directory='echo $i | cut -d'/' -f2'
                        display "$current_directory"
                    fi
                        echo $j >> $OUTPUT
                        used=1
                ;;
            esac
        done
    done
}

function display {
    echo "---------------------------------------" >> $OUTPUT;
    echo "$@" >> $OUTPUT;
    echo "---------------------------------------" >> $OUTPUT;

}

MAIN(){
    echo "START CHECKING" > $OUTPUT
    start_check;
}



MAIN

O problema é que, quando executo o script no Ubuntu, não consigo encontrar nenhum problema, mas quando executo o script no centos, ele não consegue encontrar nenhuma alteração, o resultado é NULL.
Alguma idéia?

    
por moata_u 01.12.2012 / 07:22

1 resposta

1

bem, é um script bash, então eu recomendo que você depure o programa executando linha por linha copiando linha por linha em um terminal e veja onde está a falha,

por exemplo, uma causa potencial do problema é que, no centos, por algum motivo, ele não encontra nenhum arquivo / pasta, então execute manualmente a instrução find . -name "www" -type d e veja se ela retorna um resultado esperado.

Repita esse processo para todas as instruções do seu programa, não deve demorar muito, já que é um programa pequeno.

    
por Sam 01.12.2012 / 08:16

Tags