Chcę użyć skryptu bash do uruchomienia kopii zapasowej, a następnie wysłać mi wiadomość e-mail za pomocą ssmtp. Próbuję stworzyć ogólny skrypt, którego można by użyć ponownie na różnych komputerach z systemem Linux. Poniżej znajduje się fragment skryptu, w którym używam sed do zamiany tekstu zastępczego na zmienne $HOSTNAME
i $DATE
. Z jakiegoś powodu po uruchomieniu otrzymuję wiadomość e-mail, ale zamiast wstawić nazwę hosta i datę, czyści symbole zastępcze. Czy ktoś może wskazać, co robię źle?
Oto sekcja mojego skryptu:
sed -i -e "s/HNAME/$HOSTNAME/g" backup_notification
sed -i -e "s/DATETIME/$date/g" backup_notification
ssmtp me@domain.org < backup_notification
Oto plik tekstowy powiadomienia ( HNAME
i DATETIME
są to symbole zastępcze, które chcę, aby sed zastąpił informacjami o zmiennych systemowych):
To: me@domain.org
From: administrator@webserver.domain.org
Subject: Backup completed
This confirms that backup is completed for HNAME on DATETIME.
A oto, co zawiera tekst e-maila (zwróć uwagę, że symbole zastępcze HNAME i DATETIME zostały usunięte lub zastąpione przez zero):
-----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 .
TIA za wszelką pomoc :)!
źródło