Unir comandos com && significa que o comando à direita somente será executado se o da esquerda for bem-sucedido. Isso significa que seu crontab falhará na primeira vez em que for executado, já que não há arquivo zip em /var/www/html/ , então o rm /var/www/html/my-zip-file*.zip falhará e o mv não será executado.
Assim, você pode criar um arquivo com o nome correto que pode ser excluído e manter o mesmo comando cron:
touch /var/www/html/my-zip-file.zip
Você também pode usar ; em vez de && :
cp /home/myuser/myworkingdir/file.txt /home/myuser/file.txt &&
cd /home/myuser &&
zip my-zip-file-$(date "+%b_%d_%Y_%H.%M.%S").zip file.txt &&
rm file.txt &&
rm /var/www/html/my-zip-file*.zip ;
mv my-zip-file*.zip /var/www/html && cd
Você também está tornando esse caminho mais complexo do que precisa ser. A cópia de /home/myuser/myworkingdir/file.txt to /home/myuser/file.txt é desnecessária, pois você só está usando isso para compactá-lo e excluí-lo. Os comandos cd não são necessários, você pode usar o caminho completo. Também não há razão para cd no final. Tudo o que você precisa é de um comando para remover quaisquer arquivos zip do diretório de destino e um comando para compactá-los:
rm /var/www/html/my-zip-file*.zip &&
zip /var/www/htmlmy-zip-file-$(date "+%b_%d_%Y_%H.%M.%S").zip /home/myuser/myworkingdir/file.txt