Se o comando é em segundo plano ou não é irrelevante, tudo que você precisa fazer é adicionar a saída de uma chamada date
aos nomes de arquivo que você está criando. Usando exatamente a mesma sintaxe da sua pergunta, você poderia fazer:
sshpass -p prakash12 ssh -t -p prakash@localhost \
'./test_new_update_script.sh > /home/log/unit_update_output.$(date '+%F-%T').log \
2> /home/log/unit_update_error.$(date '+%F-%T').log < /dev/null |
echo $! > /home/log/unit_update_pids$(date '+%F-%T') &'
O truque é adicionar $(date '+%F-%T').
, isso retornará (por exemplo):
$ date '+%F-%T'
2014-04-08-18:54:52
Então, o comando acima criará:
/home/log/unit_update_output.2014-04-08-18:57:02.log
/home/log/unit_update_error.2014-04-08-18:57:02.log
/home/log/unit_update_pids2014-04-08-18:57:02
Veja man date
para os diferentes formatos que você pode ter.