[英]Can we trigger a perl script in unix by sending a mail
我想知道我們是否可以通過發送郵件來觸發unix中的perl腳本。 基本上,腳本應該檢查傳入的郵件,然后觸發perl腳本。
也可以在設置郵件訪問權限方面進行一些設置,例如在我的UNIX家庭中閱讀和保存郵件。
-謝謝
您可以采用兩種基本方法。
前者通常是更好的選擇。
您可以這樣修改它:
inotifywait -m /var/mail/$USER | grep --line-buffered MODIFY | while read _unused_; do
#your perl script here
done
說明:它監視/ var / mail / $ USER的更改並在stdout上打印事件。 在每個MODIFY事件上,它將觸發腳本。
注意:這僅適用於localhost上的unix郵件。 不在外部服務器上。
已知的錯誤:郵件讀取活動也會觸發腳本。
您可以繼續輪詢(unix)郵件以查找任何新郵件。
while true; do
echo "\nq" | mail >/tmp/new_mail 2>&1 && /path/to/your/perl_script.pl arg1 arg2 ...
sleep 60
done
如果需要,可以在perl程序中使用/tmp/new_mail
內容。 如果不需要,可以將mail
輸出重定向到/dev/null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.