Tente adicionar #! /bin/sh
como a primeira linha do seu script e remover a extensão, para que o nome seja /etc/cron.hourly/cron-test
Lembro-me de ler em algum lugar que o cron não executará arquivos com uma extensão, porque ele usa runparts quando /ect/crontab
tem o seguinte conteúdo:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the 'crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
O acima é o conteúdo do meu /etc/crontab
no Ubuntu 10.04, com o cron instalado (eu não editei este arquivo)
Como o arquivo /etc/crontab
usa run-parts
, o nome do arquivo é muito restritivo (Obrigado Matteo):
run-parts runs a number of scripts or programs found in a single directory
directory. Filenames should consist entirely of upper and lower case letters,
digits, underscores, and hyphens. Subdirectories of directory and files with
other names will be silently ignored. Scripts must follow the
#!/bin/interpretername convention in order to be executed. They will not
automatically be executed by /bin/sh. The files found will be run in the
lexical sort order of the filenames.