• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 將 Crontab 的輸出導入記錄檔案、Syslog 教學與範例

介紹如何將 crontab 之內執行程式的輸出資料導入 syslog 中儲存。

Crontab 基本寫法

一般來說,如果需要記錄 crontab 執行程式的狀況,最直接的方式就是將所有的輸出(包含正常訊息與錯誤訊息)導入檔案記錄下來:

# 將輸出導入指定的檔案
59 23 * * * /path/to/script.sh > /path/to/output.log 2>&1

這樣寫的話,會讓 /path/to/script.sh 所產生的任何訊息都直接存入 /path/to/output.log 這個記錄檔中。

如果需要將正常訊息與錯誤訊息分開存放,可以將標準輸出(standard output)與標準錯誤(standard error)導入不同檔案:

# 將正常與錯誤輸出分開,導入不同的檔案
59 23 * * * /path/to/script.sh > /path/to/output.log 2> /path/to/error.log

這樣的話 /path/to/script.sh 所產生的正常訊息會儲存在 /path/to/output.log,而錯誤訊息則會放在 /path/to/error.log。

將輸出導入 Syslog

如果希望讓 crontab 執行程式的輸出可以導入系統的 syslog 統一存放,可以使用 logger 指令,他會將收到的訊息轉送至系統的 syslog 中記錄下來:

# 將輸出導入 Syslog
59 23 * * * /path/to/script.sh 2>&1 | /usr/bin/logger -t MY_TAG

通常在使用 logger 的時候,會加上 -t 參數並指定一個標籤(tag),標示這一條訊息的應用程式種類或名稱等,這一個標籤會在寫入記錄檔時自動加在訊息之前,方便閱讀或搜尋。

透過 logger 轉送至 syslog 的訊息,通常預設會存放在 /var/log/syslog 這個記錄檔之中,如果希望放在其他位置,可以透過 -p 參數指定 priority(預設為 user.notice),然後再去更改 syslog 對應規則的儲存位置即可。

參考資料:StackExchange

分類:Linux

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide