Я хочу использовать скрипт bash для запуска резервного копирования, а затем отправить мне электронное письмо с помощью ssmtp. Я пытаюсь сделать общий сценарий, который я могу использовать на разных машинах Linux. Ниже приведен фрагмент скрипта, где я использую sed для замены некоторого текста-заполнителя на переменные $HOSTNAME
и $DATE
. По какой-то причине, когда он запускается, я получаю электронное письмо, но вместо того, чтобы вставить имя хоста и дату, он стирает заполнители. Может кто-то указать, что я делаю не так?
Вот раздел моего сценария:
sed -i -e "s/HNAME/$HOSTNAME/g" backup_notification
sed -i -e "s/DATETIME/$date/g" backup_notification
ssmtp me@domain.org < backup_notification
Вот текстовый файл уведомления (HNAME
и DATETIME
- это заполнители, которые я хочу заменить sed информацией о системных переменных):
To: me@domain.org
From: administrator@webserver.domain.org
Subject: Backup completed
This confirms that backup is completed for HNAME on DATETIME.
А вот что содержит текст письма (обратите внимание, что заполнители HNAME и DATETIME были удалены или заменены на nil.):
-----Original Message-----
From: root [mailto:root@domain.org]
Sent: Thursday, March 10, 2016 1:15 PM
To: Me
Subject: Backup completed
This confirms that the backup is completed for has been renewed on .
ТИА за любую помощь :)!