Вы можете использовать cron для периодического запуска задачи, в том числе раз в неделю в определенный день недели. Вы можете написать сценарий для запроса списка серверов, а затем сохранить отчет.
Запустите crontab -e
от имени пользователя, от имени которого вы хотите запустить задачу. Например:
# 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
Пример скрипта, который читает список серверов и выполняет команду по 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