Запустите команду и отправьте результат по электронной почте

This has again and again been annoying when there is trouble with the bootloader, because you would have to wait for a full installation before you can retry the boot loader.

Это неправильно. Большинство дистрибутивов Linux предлагают способ простой (и только )переустановки загрузчика на другой правильный диск. Например, в ISO-образе установщика Debian вы можете запустить оболочку для запуска grub-install(, а во IIRC для этого есть даже пункт меню ).

Кстати, то, что вы предлагаете, (установка минимальной системы и перезагрузка )возможны в большинстве дистрибутивов Linux. Вы просто устанавливаете маленькую систему (, например. без выбора рабочего стола, графического интерфейса или сервера дисплея-никакого сервера X11 или Wayland! -через Debian tasksel), затем вы перезагружаетесь и устанавливаете остальные в командной строке. Я делал это несколько раз. Тем не менее, вам нужно хорошо владеть командной строкой Unix (, а большинство новичков в Linux не умеют ).

Ответ Хенрика охватывает остальные ваши вопросы.

As it is now, a failing installation of LibreOffice will keep the system unbootable.

Я удивлен. IIRC,Я даже установил минимальную графическую среду Debian (, например. icewmна основе )без LibreOffice.

3
24.08.2019, 08:10
2 ответа

Основываясь на других ответах и ​​комментариях ОП к другим ответам, я думаю, что могу предложить ответ.

1.Вы хотите запустить команду и отправить ее вывод по электронной почте. У вас есть несколько вариантов отправки почты в Linux. Вам нужно убедиться, что вы действительно можете отправлять электронную почту, прежде чем ваша команда сможет это сделать. Используйте программу типа mail или mailx.

sudo yum install mailx

Дополнительные инструкции по настройке программы mailx см. здесь-https://www.digitalocean.com/community/tutorials/how-to-send-e-mail-alerts-on-a-centos-vps-for-system-monitoring

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

2. После настройки mailx в соответствии с инструкциями в digitalocean вы сможете отправлять подобные электронные письма:

echo "Your message" | mail -s "Message Subject" email@address

Если вы получите это письмо, отлично! Мы готовы к следующей части. Создайте свой файл lfd.sh

#!/bin/bash

service lfd status | mail -s "LFD Status" youremail@address.com

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

chmod +x./lfd.sh

Это должно отправить вам электронное письмо, но мы еще не закончили. Вы также упомянули, что хотите, чтобы он автоматически отправлял вам электронное письмо каждый час. Это можно сделать с помощью crontab.

Crontab/Cron — очень полезный автоматический планировщик задач в Linux. Вам нужно будет создать задание Cron с вашим lfd.sh

.

Такие веб-сайты, как этот , помогают мне запомнить синтаксис задания Cron.

crontab -e
0 * * * * /home/username/lfd.sh

Это должно запускать задание каждый час, в начале часа, каждый день недели, если каждый месяц. Для получения дополнительной информации см. ссылку Cron или примеры Google Cron.

3
27.01.2020, 21:21
service lfd status >output

cat output|mail -s "subject" emailid </dev/null
-1
27.01.2020, 21:21

Теги

Похожие вопросы