Использование printf в bash

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

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.

0
05.10.2021, 21:33
0 ответов

Теги

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