
如何使用 OS Xat
指令安排每日清理使用者.Trash
資料夾?
我正在思考以下內容:
rm -rf ~/.Trash/**/* | at 0:00 + 1 day
這樣可以每天清理垃圾嗎?
我們將運行此命令作為登入腳本的一部分,因此我還需要一種方法來清除所有排程任務。有辦法嗎at -r all
?
答案1
rm -rf ~/Trash/*
除非您以 root 身分執行,否則通常會導致權限被拒絕錯誤。osascript -e 'tell app "Finder" to empty trash'
如果某些文件正在使用,也會顯示錯誤對話方塊。
您可以嘗試新增0 0 * * * rm -rf ~/Trash/*
到根目錄的 crontab ( sudo crontab -e
)。
或使用 launchd,將屬性清單儲存為/Library/LaunchAgents/empty_trash.plist
(並使其歸 root 所有):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>EnableGlobbing</key>
<true/>
<key>Label</key>
<string>empty_trash</string>
<key>ProgramArguments</key>
<array>
<string>rm</string>
<string>-rf</string>
<string>/Users/username/Trash/*</string> <!-- ~/ doesn't work -->
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>0</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
它會在下次登入時自動加載,但您可以使用 立即加載它sudo launchctl load /Library/LaunchAgents/empty_trash.plist
。
榛還有自動清空垃圾的選項。