.DS_Store
개발 코드가 포함된 디렉터리 목록이 정의되어 있으며 파일이 존재하지 않거나 생성된 직후 삭제되도록 하고 싶습니다 .
다음과 같은 방법으로 이 작업을 수행 crontab
하지만 가능하다면 여러 기능을 실행하는 대신 위의 모든 디렉터리를 한 번에 전달하고 싶습니다 crontab
.
내 crontab
:
15 * * * * root find /Users/vince/directories -name “.DS_Store” -depth -exec rm {} \;
그 외에도 directories
합격하고 싶은 것 외에 Code
몇 Sites
가지가 더 있습니다.
어떻게 해야 하나요?
답변1
사용자 개인 crontab의 여섯 번째 필드에는 사용자 이름이 없어야 합니다(귀하의 사용자 이름
root
이 있음). 루트 사용자가 작업을 실행하도록 하려면 루트의 crontab에 작업 추가를 사용하세요sudo crontab -e
.이
find
유틸리티는 최상위 검색 경로 목록을 사용합니다.find /some/path/a /some/path/b /other/path ...expression...
"..."
쉘에서는 화려한 인용문이나 인쇄된 인용문(“...”
)이 아닌 곧은 인용문( )을 사용하십시오. 인용한 문자열은.DS_Store
인용할 필요가 없습니다.find
macOS의 유틸리티-delete
에는-depth
.vince
특정 사용자의 홈 디렉토리를 참조하는 데 사용할 수 있습니다~vince
.
위의 사항을 고려하면 다음과 같은 일정이 나올 수 있습니다.
15 * * * * find ~vince/Code ~vince/Sites ~vince/"other dir" -type f -name .DS_Store -delete