每20天发送一次邮件的Shell脚本

每20天发送一次邮件的Shell脚本

需要每天通过 cron 作业调用一个 shell 脚本,看看是否是第 20 天,它应该发送一封邮件

答案1

你总是可以这样做(假设 GNUdatebash/ 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 的倍数。

相关内容