Escreva o script para gerar o relatório a cada quinta-feira [fechado]

0

Todas as quintas-feiras temos que enviar o relatório abaixo para 18 servidores

Conta: swebwpsp Nome do servidor: nykpsr17896 Uso de espaço em disco: 70% (usamos o comando df -kh) Data: 20-09-2018

Da mesma forma, temos 18 servidores disponíveis

Podemos automatizar isso?

    
por Mallikarjun Malage 17.09.2018 / 20:19

1 resposta

1

Você pode usar o cron para executar uma tarefa periodicamente, incluindo uma vez por semana um dia específico da semana. Você pode escrever um script para consultar uma lista de servidores e salvar o relatório.

Execute crontab -e como o usuário para o qual você deseja executar sua tarefa. Por exemplo:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *     command to be executed
  0  0  *  *  thu  /path/to/your/script

Um exemplo de script que lê uma lista de servidores e executa um comando por ssh:

#!/bin/sh
report="report-$(date -I)" # report file
servers="servers.txt"      # file containing a list of hosts
command="df -hk"           # command to execute at remote host

exec 1>$report             # redirect output to report file
exec 2>&1                  # stderr to stdout

while IFS= read -r server; do
    echo "querying server: ${server}"
    ssh -n "${server}" -- "${command}" 
done < $servers
    
por 17.09.2018 / 20:34