![20일마다 메일을 보내는 쉘 스크립트](https://linux55.com/image/3345/20%EC%9D%BC%EB%A7%88%EB%8B%A4%20%EB%A9%94%EC%9D%BC%EC%9D%84%20%EB%B3%B4%EB%82%B4%EB%8A%94%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
쉘 스크립트는 매일 크론 작업을 통해 호출되어 20일째인지 확인하고 이메일을 보내야 합니다.
답변1
언제든지 이 작업을 수행할 수 있습니다(GNU date
및 bash
/ ksh93
/ 가정 zsh
).
o=$(date +%::z)
o=${o:0:1}$((10#${o:1:2} * 3600 + 10#${o:4:2} * 60 + 10#${o:7}))
[ "$((($(date +%s) $o) /(24*60*60) % 20))" -eq 0 ] || exit
mailx -s subject [email protected] << EOM
Hiya
EOM
아이디어는 1970년 1월 1일(UTC 오프셋의 첫 번째 부분을 가져와 적용) 이후의 일수를 계산한 다음 해당 숫자가 20의 배수가 아닌 한 종료하는 것입니다.