[英]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)。 有兩種可能的解決方案。
將您的腳本和日志文件從~/Desktop
移到~/
。 與~/Desktop
、 ~/Documents
和其他文件夾相比,主目錄不受系統完整性保護。
如果您需要將腳本和日志文件保存在~/Desktop
下:
#!/bin/sh
shebang(第一行)添加到您的addlog.sh
腳本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
crontab
更改為以下內容:* * * * * /Users/naman/Desktop/addlog.app/Resources/MacOS/addlog
您還必須允許新創建的應用程序訪問 SIP 保護區域中的文件,如下所示:
+
。addlog
。 它將被添加到應用程序列表中。 確保選中復選標記。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.