매주 토요일 오후 11시에 주간 보고서를 생성하는 스크립트와 매월 1일에 월간 보고서를 생성하는 또 다른 스크립트를 실행하고 싶습니다.
토요일이 매월 1일로부터 3일 이내에 해당하는 경우 주간 보고서를 실행하고 싶지 않습니다.
한 달에 한 번입니다.
0 23 1 * * /home/me/monthly.sh
이것은 제가 생각할 수 있는 주간 항목에 가장 가까운 것입니다...
0 23 4-? * 6 /home/me/weekly.sh
물음표를 "월말 3일 전"이라는 의미로 바꿀 수 있나요? 아니면 내 목적에 맞는 다른 방법이 있습니까?
월말이 되기 전에 몇 일 수를 지정할 수 있다는 것은 작업 스케줄러에 갖고 싶은 기능처럼 보이므로 crontab이 이 기능을 수행할 수 없다면 조금 놀랄 것입니다.
내 대안은 Weekly.sh에서 날짜를 확인하고 첫날로부터 3일 이내이면 중지하는 것입니다.
답변1
0 23 * * 6 [ $(date +%e -d "next saturday") -gt 3 ] && /home/me/weekly.sh