簡體   English   中英

基本 Cron 作業運行 shell 腳本到日志中的 append 日期,不工作

[英]Basic Cron job to run a shell script to append date in a log, not working

我有一個addlog.sh文件,其中包含以下內容:

echo "time right now:" `date` >> ~/Desktop/date.log

這就是我的crontab -l的樣子:

* * * * * /bin/sh /Users/naman/Desktop/addlog.sh

我已經為addlog.sh文件添加了正確的權限,我的 shell 位於/bin/sh 我已經驗證addlog.sh的手動運行將時間附加到date.log文件。

我在本地 Mac 上運行它。 但它不起作用,不確定我在這里可能會錯過什么。

我懷疑您正在運行具有限制性系統完整性保護的 Catalina (10.15)。 有兩種可能的解決方案。

解決方案 1

將您的腳本和日志文件從~/Desktop移到~/ ~/Desktop~/Documents和其他文件夾相比,主目錄不受系統完整性保護。

解決方案 2

如果您需要將腳本和日志文件保存在~/Desktop下:

  1. #!/bin/sh shebang(第一行)添加到您的addlog.sh腳本
  2. 從您的addlog.sh腳本中創建一個簡單的addlog.app ,如下所示:
mkdir -p ~/Desktop/addlog.app/Resources/MacOS/
cp ~/Desktop/addlog.sh ~/Desktop/addlog.app/Resources/MacOS/addlog
chmod +x ~/Desktop/addlog.app/Resources/MacOS/addlog
  1. 將您的crontab更改為以下內容:
* * * * * /Users/naman/Desktop/addlog.app/Resources/MacOS/addlog

您還必須允許新創建的應用程序訪問 SIP 保護區域中的文件,如下所示:

  1. 打開“系統偏好設置”、“安全和隱私”
  2. 單擊掛鎖並進行身份驗證以進行更改。
  3. Select 左窗格中的“全盤訪問”。
  4. 在右側單擊+
  5. 導航到桌面和 select 您的新應用程序addlog 它將被添加到應用程序列表中。 確保選中復選標記。
  6. 關閉“系統偏好設置”

暫無
暫無

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

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