Сценарий, чтобы создать файл журнала и послать электронное письмо

#!/bin/bash

who>log.txt

top>>log.txt

EMAIL="yasni.exe@gmail.com"
LOG="/home/projekt/skrypt/log.txt"

mail -s "skrypt_logi" ${EMAIL}<${LOG}

rm logi.txt

Я установил пакет для использования электронной почты, scrit создают log.txt, помещают некоторую информацию в log.txt, но не посылает электронное письмо, и это зависает так, я должен прервать его.

-1
задан 30 January 2018 в 17:46

2 ответа

Вы создаете "log.txt" в том, что Ваш текущий каталог, но затем Вы указываете полный путь, когда Вы хотите читать из него.

Необходимо использовать переменную всюду по сценарию:

#!/bin/bash
email="yasni.exe@gmail.com"
log="/home/projekt/skrypt/log.txt"

who > "$log"
top -n1 >> "$log"

mail -s "skrypt_logi" "$email" < "$log"

rm "$log"

Считайте последствия безопасности упущения заключить переменную в кавычки в оболочках удара/POSIX о важности заключения в кавычки Ваших переменных.

0
ответ дан 31 October 2019 в 02:37

Сценарий застревает из-за команды 'вершину'. Это должно быть похожим на это:

top -b -n1 >> log.tx

http://manpages.ubuntu.com/manpages/xenial/man1/top.1.html

   -b  :Batch-mode operation
        Starts top in Batch mode, which could be useful  for  sending
        output  from  top  to  other  programs or to a file.  In this
        mode, top will not accept input and runs until the iterations
        limit  you've  set with the `-n' command-line option or until
        killed.
0
ответ дан 31 October 2019 в 02:37

Другие вопросы по тегам:

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