0 * * * * echo hello >> ~/cron-logs/hourly/"test$(date +\%d).log"
This also uses
$(...) instead of the deprecated
`...` syntax for command substitution and quotes the expansion of said command substitution.
The error message suggests that the shell which executes your command doesn't see the second backtick character:
/bin/sh: -c: line 0: unexpected EOF while looking for matching '`'
This is also confirmed by the second error message you received when you tried one of the other answers:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ')'
The crontab manpage confirms that the command is read only up to the first unescaped
The "sixth" field (the rest of the line) specifies the command to
be run. The entire command portion of the line, up to a newline or
% character, will be executed by
/bin/sh or by the shell specified in
SHELL variable of the cronfile. Percent-signs (
%) in the
command, unless escaped with backslash (
\), will be changed into
newline characters, and all data after the first
% will be sent to
the command as standard input.