man 5 crontab
diz ... sim. Parece bom. O único problema pode ser se o script não for definido como executável ou se estiver faltando a linha shebang.
0 3 1 * * /var/www/crons/monthly_billing.php 2>&1
Além disso, alguém vê algum problema com isso?
Você pode precisar adicionar o caminho para onde o PHP está sendo executado
0 3 1 * * /usr/bin/php /var/www/crons/monthly_billing.php 2>&1
Além disso, onde você está planejando enviar o resultado de saída para o endereço de e-mail local do usuário (por exemplo, jbloggs @ localhost) que estaria fazendo no momento ou após redirecioná-lo para um arquivo de registro.
NOTA: não copie e cole o exemplo que eu dei aqui você pode precisar confirmar a localização de onde o arquivo binário do php está no seu servidor which php
é seu amigo para isso.
Além disso, seguindo a notação de Pauls em relação ao resultado da saída. Se você não quiser nenhuma saída (descartar todas as saídas, stdout e stderr) tente:
0 3 1 * * /usr/bin/php /var/www/crons/monthly_billing.php >> /dev/null 2>&1