Isso não está funcionando porque o comando date
retorna uma string com espaços.
$ date
Wed Oct 16 19:20:51 EDT 2013
Se você realmente deseja nomes de arquivo como esses, será necessário incluir essa string entre aspas.
$ touch "foo.backup.$(date)"
$ ll foo*
-rw-rw-r-- 1 saml saml 0 Oct 16 19:22 foo.backup.Wed Oct 16 19:22:29 EDT 2013
Você provavelmente está pensando em uma string diferente para ser acrescentada seria meu palpite embora. Eu costumo usar algo assim:
$ touch "foo.backup.$(date +%F_%R)"
$ ll foo*
-rw-rw-r-- 1 saml saml 0 Oct 16 19:25 foo.backup.2013-10-16_19:25
Consulte a página do manual para a data para obter mais códigos de formatação em torno da saída para a data & tempo.
Formatos adicionais
Se você quiser ter controle total se consultar a página do manual, poderá fazer coisas como esta:
$ date +"%Y%m%d"
20131016
$ date +"%Y-%m-%d"
2013-10-16
$ date +"%Y%m%d_%H%M%S"
20131016_193655