Is there a way to handle host restart for CRON task if the restart frequency is extremely low about once-twice per year?
There are some nice alices for man (5) crontab, one of them is "@reboot".
You can use it to have it run when the system is started, and then another job for the specific date perhaps?
@reboot <path to job>
0 5 1 6,12 0 <path to job>
This would run the job at reboot AND 05:00 month 6 and 12 on the first day of the month.
A more complicated solution would be to have the cronjob create a file when run, and then you could check for the existence of that file when you boot to see if it's needed to run again or not, say after X days has passed since the file was created, but I leave you to think about that depending on your need.