
我有一個 cron 作業,每分鐘執行一次 git pull 。問題是,當沒有更新時,它會在 /var/spool/mail/user 中記錄一條訊息,指出已更新到最新版本。
The cron job is * * * * * cd /home/user/dir && git pull
有沒有辦法讓它在每次執行 git pull 時都不再記錄該訊息?
完整的日誌訊息是:
From [email protected] Tue Aug 28 10:21:04 2018
Return-Path: <[email protected]>
X-Original-To: user
Delivered-To: [email protected]
Received: by localhost.localdomain (Postfix, from userid 1000)
id 2C1D3207F8E3; Tue, 28 Aug 2018 10:21:04 -0400 (EDT)
From: "(Cron Daemon)" <[email protected]>
To: [email protected]
Subject: Cron <user@localhost> cd /home/user/dir && git pull
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=701>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/1000>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/user>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=user>
X-Cron-Env: <USER=user>
Message-Id: <[email protected]>
Date: Tue, 28 Aug 2018 10:21:04 -0400 (EDT)
Already up-to-date.
答案1
新增 /dev/null 會忽略產生的標準訊息。僅當出現錯誤時才發送訊息。
修改後的 cron 作業 * * * * * cd /home/user/dir && git pull > /dev/null