方法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:获取每月第一个周日的日期与当天日期进行判断
注意: %d的%需要转义
[root@crushlinux ~] # crontab -e 30 17 * * 6 [ $( date +"\%d") - eq $( cal | awk 'NR==3{print $NF}' ) ] && /opt/shell .sh |
方法3:利用日期范围形式(取巧)
注意: %d的%需要转义
[root@crushlinux ~] # crontab -e 30 17 * * 6 [ $( date +"\%d") -lt 7 ] && /opt/shell .sh |