Obtenha uma lista de todos os scripts e seus caminhos que são executados como cron job

Obtenha uma lista de todos os scripts e seus caminhos que são executados como cron job

Estou procurando alguns scripts ou um comando de terminal para listar todos os scripts ativos (de preferência com seus caminhos), que são executados periodicamente por cron, cron.daily e/ou anacron. Não estou procurando um filtro para um período específico do script e preciso de todos os scripts listados (no entanto, alguns administradores podem querer esse tipo de filtro).

Propósito:Documentar todos os scripts em execução periodicamente, para que a depuração ou verificação de falhas, a atualização e a transferência para um sistema mais novo sejam fáceis e eficientes.

Obrigado

Responder1

Não tenho certeza se é isso que você quer. Encontrei esta resposta há algum tempo em algum stackexchange e a uso em um servidor.

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

Isso listará todos os crontabs para todos os usuários.

Responder2

Quanto a qualquer coisa que você encontrar na internet, você não deve executar sem entender, mas o seguinte irá obter os nomes dos arquivos e exibir os caminhos dos scripts executados nas pastas cron.hourly/ cron.daily/ cron.monthly... (CentOS no meu caso)

cd /etc/cron.hourly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.daily/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.weekly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.monthly/&&for i in $(ls);do find `pwd` -name $i;done

basicamente várias versões disso:

cd /etc/cron.hourly/&&for i in $(ls);do find 'pwd' -name $i;done

Mude para o diretório e, em seguida, para cada nome de arquivo, lsencontre e exiba o caminho

EDIT: para programadores que gostam de estrutura... a mesma coisa que uma função:

function AllTheCrons {
    cd /etc/cron.hourly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.daily/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.weekly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.monthly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
}

então corra:

AllTheCrons

informação relacionada