Каждое утро я SSH на конкретный сервер. Я проверяю дисковое пространство, размер нескольких каталогов и содержимое некоторых конкретных каталогов.

Все это включает в себя много печатать и вспоминать (из местоположения каталогов), когда я не в самом разгаре.

Есть ли более разумный способ сделать это ... какой-то сценарий, который устраняет некоторые из ручного набора текста, который я делаю каждое утро?

3 ответа3

4

Вы, вероятно, могли бы сделать большую часть этого из сценария bash, да. И запускайте его каждый день, помещая его в cron.daily или эквивалент вашего дистрибутива.

Концептуально, вы можете вызывать те же команды из сценария, что и вручную, но, возможно, вы захотите перенаправить вывод, чтобы добавить временный файл, а затем после этого отправить содержимое этого файла себе, чтобы вы могли просто прочитать резюме.

4

После одного из ваших ежедневных сеансов просто отправьте вывод history | cut -c 8- в файл, а затем очистить его.

history | cut -c 8- > dailystatuscheck.sh

Вы захотите добавить перенаправления, чтобы добавить любой вывод каждой отдельной команды в файл, а затем, а затем добавить строку для отправки файла по электронной почте. Затем просто добавьте созданный вами скрипт в cron.daily после его тестирования.

до:

df -h
cd /var/log
grep ERROR *.log

после:

df -h >> /tmp/$$.log
cd /var/log >> /tmp/$$.log
grep ERROR *.log >> /tmp/$$.log
mail -s "Daily Status" me@example.com << $$.log
rm $$.log

Если вы чувствуете себя особенно ленивым (одно из достоинств хорошего программиста ;-) добавьте некоторую обработку, чтобы определить, требуется ли действие. То есть, если свободного места меньше, чем на 90%, немедленно предупредить вас или пометить письмо как срочное.

2

Конечно, вы можете написать сценарий оболочки и сохранить его на удаленном сервере, чтобы автоматизировать такую работу. Ознакомьтесь с некоторыми руководствами по bash-скриптингу в Google. Затем вы можете просто ssh на сервер и запустить скрипт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .