2015-07-20 28 views
0

我正在嘗試用記錄器函數編寫一個簡單的MYSQL數據庫備份腳本。但是我被困在記錄器上,我知道它應該很簡單,但我的思想已經出來了。 我使用腳本下一個字符串:帶記錄器的Bash腳本

mysqldump -u username -p'pass' --all-databases > /var/backup/mysqlbck.sql 

我的目標是記錄由2個不同的設備與記錄到系統日誌。

  • local0.warn - 應該發送日誌如果數據庫不能備份
  • local0.info - 應該將日誌成功日誌。

我試圖添加logger -p local.warn 2>> /to/file/ 也試圖與-s參數,但它不是我需要的,說實話我沒有看到使用記錄本時,有STDERR 2>>點。

+1

要記錄到文件中*和*爲syslog?你想stdout和stderr發送記錄不同的系統日誌優先級? –

+0

你有問題嗎? – lcd047

回答

0

只有通過記錄日誌:

mysqldump ... 
ret=$? 
if [[ $ret -eq 0 ]]; then 
    echo "mysqldump: success" | logger -p local0.warn 
else 
    echo "mysqldump: error" | logger -p local0.info 
fi 

記錄到文件中,並通過記錄器:

mysqldump ... 
ret=$? 
if [[ $ret -eq 0 ]]; then 
    echo "mysqldump: success" | tee -a /path/to/file | logger -p local0.warn 
else 
    echo "mysqldump: error" | tee -a /path/to/file | logger -p local0.info 
fi 
+0

非常感謝賽勒斯.. 乾杯。 –