참고 사항 : 나는 비슷한 질문을 모두 읽었습니다. cron, 경로, env 변수 등은 있지만 특정 문제에 대한 해결책을 제공하는 것은 없습니다.
MySQL 덤프를 만들고 다음과 같이 오래된 것을 삭제하는 스크립트가 있습니다.
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
( 위의 명령은 주석의 제안에 의해 원래 명령에서 수정되었습니다 )
그러나 cron이이 스크립트를 실행할 때 파일은 절대 삭제되지 않습니다. 크론 사용자는 루트입니다.
디버깅 노트
명령이 나타나는 스크립트를 수동으로 실행하면 예상대로 삭제됩니다.
위의 find 명령을 명령 줄에서 루트로 자체 실행하면 예상대로 삭제됩니다 (-print를 사용하면 예상대로 5 일보다 오래된 파일 목록이 반환됩니다)
루트의 crontab에 명시적인 경로 설명을 추가했지만
아무것도 변경되지 않습니다.Cron은 오류를 보내지 않고 찾기 작업을 로그 파일로 파이프하면
비어 있거나 전혀 생성되지 않습니다.우분투 서버 14.04.03 LTS를 사용하고 있습니다.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron명령은 쉘을 통해 실행되며 쉘은 와일드 카드를 확장합니다.
cron출력 및 오류 메시지가 포함 된 이메일을 보내야합니다. 이 직업에서 그러한 이메일을 받았습니까?