How to implement a cron job for every minute and every 5 minutes?
hook_cron() 


  The engine will then call the hook whenever a cron run happens, as
  defined by the administrator.


In other words, hook_cron gets executed after a cron run happens. So if you have cron set to run once a day, then your hook_cron script only gets executed once per day. So you need to set cron to run every 5 minutes or less.

A better alternative, I suggest you use a module like Ultimate   Cron which allows you to schedule different cron run times for different cron tasks. This way, cron doesn't run every single task every 5 minutes and instead it runs your specific task only.