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, ls
encontre 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