Не надо костылей в виде крона, есть приоритеты нод и их нужно расставить, без приоритетов все ноды равнозначны и арбитр не возвращает желаемому мастеру мастера после возобновления его работы.
На текущем мастере нужно выполнить:
cfg = rs.conf()
cfg.members[0].priority = 2.5
cfg.members[1].priority = 1
cfg.members[2].priority = 1
rs.reconfig(cfg, { force: true } )
Где members[0]… [2] это номер ноды в replicaset, чем больше значение приоритета, тем «главнее» сервер.