
OS X at
명령을 사용하여 사용자 .Trash
폴더의 일일 정리 일정을 어떻게 예약합니까?
나는 다음과 같은 내용을 생각하고 있습니다.
rm -rf ~/.Trash/**/* | at 0:00 + 1 day
이렇게 하면 매일 쓰레기가 청소되나요?
이 명령은 로그인 스크립트의 일부로 실행되므로 예약된 작업을 모두 지우는 방법도 필요합니다. 방법이 있나요 at -r all
?
답변1
rm -rf ~/Trash/*
루트로 실행하지 않으면 권한 거부 오류가 발생하는 경우가 많습니다. osascript -e 'tell app "Finder" to empty trash'
일부 파일이 사용 중인 경우에도 오류 대화 상자가 표시됩니다.
0 0 * * * rm -rf ~/Trash/*
루트의 crontab( )에 추가해 볼 수 있습니다 sudo crontab -e
.
또는 launchd를 사용하여 다음과 같은 속성 목록을 저장하고 /Library/LaunchAgents/empty_trash.plist
이를 루트가 소유하도록 만듭니다.
<?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
.
엷은 갈색자동으로 휴지통을 비우는 옵션도 있습니다.