Да мне кажется правильный подход, только я бы сделал вот какой нюанс - я записывал бы для каждого акка последнюю дату за которую было списание (не лог - лог это само собой, а прямо в таблицу) и скрипт бы списывал не просто сумму при запуске, а вычислял количество дней от даты последнего списания до сегодня и списывал бы за это количество дней. Так решаются сразу несколько проблем:
Если в один из дней скрипт упадет и этого никто не заметит, то в следующий все спишется правильно и за тот день и за предыдущий.
Если это заметят, то скрипт можно будет легко запустить повторно - он не спишет деньги по второму разу с тех с кого уже списал.
Если по каким-то непонятным причинам скрипт запустится дважды в одни и те же сутки (ну собьется дата хотя бы) - катастрофы не произойдет.
Может есть варианты и лучше, но я бы делал так.