20일마다 메일을 보내는 쉘 스크립트

20일마다 메일을 보내는 쉘 스크립트

쉘 스크립트는 매일 크론 작업을 통해 호출되어 20일째인지 확인하고 이메일을 보내야 합니다.

답변1

언제든지 이 작업을 수행할 수 있습니다(GNU datebash/ 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의 배수가 아닌 한 종료하는 것입니다.

관련 정보