O que você precisa é de um arquivo de bloqueio e verificar esse arquivo de bloqueio. Se estiver lá, termine o script.
Um exemplo de comando seria shlock .
DESCRIÇÃO
O Shlock tenta criar um arquivo de bloqueio denominado name e gravar o ID do processo pid nele. Se o arquivo já existir, o shlock lerá o ID do processo do arquivo e testará para ver se o processo está sendo executado no momento. Se o processo existir, o arquivo não será criado. O Shlock sai com um status zero se foi capaz de criar o arquivo de bloqueio ou diferente de zero se o arquivo se referir ao processo ativo no momento.