2017-01-04 5 views
-1

Я пытаюсь настроить хрон выполнить следующую команду внутри сценария:Shell скрипт для хрон, чтобы отправить по электронной почте, если команда производит какой-либо вывод

find /path/to/folder -ctime -1 -type f 

и отправить почту, если таковые были созданы файлов в определенной папке за последний день. До сих пор я пришел с этим:

#!/bin/bash 

check=$(find /path/to/folder -ctime -1 -type f) 
[email protected] 

if [ "$check" -eq 0 ] 
then 
    mail -s "files created" "$alert" 
fi 

Проблема заключается в том, что я не могу выполнить сценарий, даже если shell cheker говорит, что нет никаких ошибок. Это дает мне синтаксическая ошибка: неожиданный конец файла.

Я искал в Интернете достаточно долго, чтобы понять, что другие решения, такие как MAILTO и MAILFROM или сценарии, как this не будут работать. Я также рассмотрел поток this, но ничего не работает, и если я могу добавить, что это для CentOS 6, если это имеет значение.

Любая помощь будет оценена по достоинству. Благодарю.

+0

http://stackoverflow.com/a/6366607/2079249 - попробовал? –

+0

сейчас работает, спасибо. Я также смог исправить свой код. – trueEntrepreneur

ответ

0

Для всех, кто интересуется ответом, вот оно.

#!/bin/bash 

check=$(find /path/to/folder -ctime -1 -type f) 
[email protected] 

if [[ "$check" ]] 
then 
    echo "$check" | mail -s "files created" "$alert" 
fi 

Кроме того, убедитесь, чтобы преобразовать разрывы CRLF строки в стиле Unix, если он не работает, и вы продолжаете получать необъяснимую ошибку синтаксиса.

dos2unix /path/to/script 

Или следуйте this link.

 Смежные вопросы

  • Нет связанных вопросов^_^