簡體   English   中英

如果cronjob備份失敗,則執行curl命令

[英]Execute a curl command if cronjob backup fails

我有一個cronjob,每10分鍾備份一次我的數據庫。 每當備份失敗時,我都希望收到一條SMS。

例:

*/1 * * * * sudo /usr/local/sbin/mysql.sh 2>&1 | curl 'http:www.smsapi.com/user=username&pass=password&text=$errormsg'

目前它沒有發送任何短信。 如何附加錯誤消息以卷曲? (我也嘗試過用電子郵件代替短信,但這也行不通)。

郵件:

mysql.sh 2>&1 | mail -s "Mysql backup" -E user@host

卷曲:

mysql.sh 2>&1 | curl "http:www.smsapi.com/user=username&pass=password&text=`cat -`"

請注意:用雙引號代替撇號和反引號,使用命令將std輸入轉換為參數。 轉換是相當原始的,它不會用URL引用特殊字符。

您需要使用雙管道command || error-handler command || error-handler程序,僅在命令失敗的情況下才調用錯誤處理程序。

我建議您反轉邏輯command && success-handler並對command && success-handler使用WDT.io之類的服務,以在缺少成功(又稱失敗)的情況下向您發出警報。 原因是cron作業本身可能無法運行,而使用錯誤處理程序時您將永遠無法找到它。

至於第二個問題,如何附加錯誤,您可以使用$?訪問先前的返回代碼$?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM