The key to keep doing what you want to do, is to do it less, but frequently.
It is what I do in #100DaysOfCode and #100DaysOfWriting challenges. I keep it short but try to not skip a day. Imagine that exercising or reading 2 hours stright at once is harder than 15-30 minutes a day, but every day. Not only that you're likely to want to skip it, but you would also be so exhausted in the next day if you do it so hard.
Another technique I'd like to suggest is to leave the work undone so that you can continue to do it tomorrow.
It works well on some cases, like in writing code, I can leave the source code unpushed or commented it with
Work in progress.
Airplanes cannot fly before up to a certain speed.
Rome was not built in a day.
Building habits takes time, but keep making small changes to gain the momentum then that'll make you unstoppable.