方法1:利用脚本调取脚本方式
[root@crushlinux ~]# crontab -e 00 17 1 * * /opt/cron.sh [root@crushlinux ~]# vim /opt/cron.sh echo "30 17 $(cal | awk 'NR==3{print $NF}') $(date +%m) * /opt/shell.sh" >> /var/spool/cron/root
方法2:获取每月第一个周日的日期与当天日期进行判断
[root@crushlinux ~]# crontab -e 30 17 * * 6 [ $(date +%d) -eq $(cal | awk 'NR==3{print $NF}') ] && /opt/shell.sh
方法3:利用日期范围形式(取巧)
[root@crushlinux ~]# crontab -e 30 17 * * 6 [ $(date +%d) -lt 7 ] && /opt/shell.sh