The only solution that worked for me and keeps me from relapsing into procrastination behaviour is the non-zero-days concept: Every day you do at least one thing to help you get closer to your end goal (whatever that is, can be multiple). It doesn't matter how much you do or how big the task is that you completed, just do something. Small things add up and before you know it you're already halfway there.
More often than not, this gets me in the right mindset and I end up accomplishing more than just the one small thing I set out to do.
This was a bit off-topic but hopefully it helps you.