Ok /var/www/tmp/test//./saved_images/2013-07-07
é o mesmo que /var/www/tmp/test/saved_images/2013-07-07
.
Duplo /
é ignorado, você pode digitar ls ////
e é o mesmo que ls /
.
O ponto .
é o mesmo diretório em que está.
Portanto, ls /.
mostra a mesma saída que ls /
e, portanto, /var/www/tmp/test/.
aponta para o diretório /var/www/tmp/test/
.
Portanto, rsync
apenas pega o diretório atual, no caso você var/www/tmp/test/
(pelo menos quando seu caminho começa com .
).
Em seguida, ele adiciona um /
extra para que possa ter certeza de que o caminho definitivamente tenha um /
para adicionar o final.
Na última etapa adiciona a parte que você deu, aqui ./saved_images/$(date +%Y-%m-%d)/$(date +%Y-%m-%d_%H-%M).jpg
O erro que você está vendo é que o diretório /var/www/tmp/test/saved_images/
não está lá e rsync
não irá criá-lo, porque parece que rsync
cria apenas um diretório.
Editar
Talvez, para o seu problema, você apenas use um script com
today_dir=$(date +%Y-%m-%d)
mkdir -p ./$today_dir/
cp webcam.jpg ./$today_dir/$(date +%Y-%m-%d_%H-%M).jpg