Com cron
somente essas exceções de tempo específicas não são possíveis de configurar. Em vez disso, você deve verificar isso no script, para que o script não seja executado quando essas exceções forem atendidas. Isso poderia, por exemplo, se parecer com isso:
#!/bin/sh
# If it's sunday ...
if [ "$(date +%u)" = "7" ]; then
# and it's the 2nd or ...
if ( [ "$(date +%e)" -gt "7" ] && [ "$(date +%e)" -lt "15" ] ) || \
# or the 4th sunday of the month ...
( [ "$(date +%e)" -gt "21" ] || [ [ "$(date +%e)" -lt "29" ] ); then
# look if it's between 1 and 3 AM ...
if [ "$(date +%k)" -ge "1" ] && [ "$(date +%k)" -le "3" ]; then
# exit the script if all of the above have met
exit
fi
fi
fi
# normal script continues here
Adicione isso ao início do script.