Acho que screen é uma solução ideal para você. Como funciona - você se conecta ao seu VPS, digite screen , execute seu script e desconecte-se do shell (feche a janela do terminal ou pressione ctrl+a seguido por ctrl+d )
Seu script (e shell) continuará sendo executado em segundo plano. Você pode visualizar o número screen digitando screen -ls . Para restaurar sua sessão e ver o progresso / resultado de seu script, obtenha o número da tela com screen -ls e, em seguida, conecte-se a ele com screen -r <screen number> . E é isso. Depois de restaurar, você pode separar da mesma maneira novamente.
Você pode instalar a tela no seu VPS com apt-get install screen para distribuições baseadas em Debian e yum install screen para distribuições baseadas em RedHat.