0
현재 프로젝트를 tarball에 백업하고 있습니다. 5 개의 최신 백업 만 유지하려고합니다. 현재 스크립트는 다음과 같습니다.cron 또는 launchctl로 가장 오래된 5 개의 파일을 삭제하십시오.
tar -cjf $HOME/projects/foo.$(date +%Y%m%d%H%M%S).tar.bz2 $HOME/projects/foo > /dev/null 2>&1
find $HOME/projects -maxdepth 1 -name "foo*.tar.bz2" | ghead -n -5 | xargs rm > /dev/null 2>&1
# CR and blank line
tarball은 생성되었지만 이전 항목은 절대로 제거되지 않습니다. 두 번째 줄을 복사하여 셸에 붙여 넣을 때 파일이 예상대로 삭제됩니다. 스크립트는 명령 줄을 통해 수동으로 호출 될 때 예상대로 작동합니다. 스크립트가 두 번째 줄에 도달하지 않거나 cron
을 통해 명령을 실행하는 것에 대한 규칙이 있습니까?
gnu-coreutils를 사용하는 Mac OS X 10.8. 시도는 동일한 결과와 함께 cron
및 실행 서비스를 사용합니다.
일반적으로 cron은 일반적인 환경보다 훨씬 적은 환경에서 실행되며 'PATH' 변수는 매우 적은 수의 위치를 추적합니다. 실행 파일의 전체 경로를 사용하여 시도해보십시오. –
이것은 의미가 있습니다. 작업이 완료되면 솔루션임을 확인합니다. 이 질문을 답으로 쓰시겠습니까? – jrhorn424